instance method String#force_encoding

force_encoding(encoding) -> self[permalink][rdoc][edit]

文字列の持つエンコーディング情報を指定された encoding に変えます。

このとき実際のエンコーディングは変換されず、検査もされません。 Array#pack などで得られたバイト列のエンコーディングを指定する時に使います。

[PARAM] encoding:
変更するエンコーディング情報を表す文字列か Encoding オブジェクトを指定します。


s = [164, 164, 164, 237, 164, 207].pack("C*")
p s.encoding                                  #=> ASCII-8BIT
p s.force_encoding("EUC-JP")                  #=> "いろは"
p s.force_encoding(Encoding::EUC_JP)          #=> "いろは"

u = [12411, 12408, 12392].pack("U*")
u.force_encoding("UTF-8")                     #=> "ほへと"
u.force_encoding(Encoding::UTF_8)             #=> "ほへと"