Ruby 4.0 リファレンスマニュアル

instance method IO::Buffer#get_string

get_string(offset = 0, length = nil, encoding = Encoding::BINARY) -> StringRuby 3.1 から[permalink][rdoc][edit]

バッファの内容を String として取り出して返します。

[PARAM] offset:
読み出しを開始する位置をバッファの先頭からのバイト数で指定します。
[PARAM] length:
読み出すバイト数を指定します。省略した場合は offset からバッファの終端までを読み出します。
[PARAM] encoding:
返す文字列のエンコーディングを指定します。省略した場合は Encoding::BINARY になります。
[EXCEPTION] ArgumentError:
offset と length の合計がバッファのバイト数を超える場合に発生します。
buf = IO::Buffer.new(8)
buf.set_string("Ruby")

p buf.get_string        # => "Ruby\x00\x00\x00\x00"
p buf.get_string(0, 4)  # => "Ruby"
p buf.get_string(1, 3)  # => "uby"

p buf.get_string(0, 4).encoding                   # => #<Encoding:BINARY (ASCII-8BIT)>
p buf.get_string(0, 4, Encoding::UTF_8).encoding  # => #<Encoding:UTF-8>

buf.get_string(0, 99)   # ~> ArgumentError

[SEE_ALSO] IO::Buffer#set_string