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

instance method StringIO#set_encoding_by_bom

set_encoding_by_bom -> Encoding | nilRuby 2.7.0 から[permalink][rdoc][edit]

自身の BOM からエンコーディングを設定します。

自身が BOM から始まる場合、BOM を読み進めて外部エンコーディングをセットし、セットしたエンコーディングを返します。 BOM が見付からなかった場合は nil を返します。

require 'stringio'

s = StringIO.new("\u{FEFF}abc".b)
p s.set_encoding_by_bom  # => #<Encoding:UTF-8>
p s.read                 # => "abc"

s2 = StringIO.new("abc".b)
p s2.set_encoding_by_bom # => nil

[SEE_ALSO] IO#set_encoding_by_bom