UTF8文字列をShift_JISに変換する

UTF8文字列をShift_JISに変換する例。

require 'kconv'

MATHGIRL = "\346\225\260\345\255\246\343\202\254\343\203\274\343\203\253"

puts MATHGIRL
puts MATHGIRL.tosjis

実行結果です(Windowsコマンドラインにて)。

謨ー蟄ヲ繧ャ繝シ繝ォ         (UTF8直接出力して文字化け)
数学ガール              (Shift_JISに変換されて文字化けしない)

補足:

  • ri Stringを読んでいて、tosjisというインスタンスメソッドがあるのを発見。
  • へえ、便利だなあと思って使おうとした。
  • undefined methodと言われた。
  • はにゃ?と思ってTwitterでつぶやいた。
  • id:yuguiさんから「riは添付ライブラリのも全部出します」と教えていただいた。
  • で、kconvをrequireした。