2010年2月7日日曜日

ruby1.9で文字コード変換

Unicodeに対応したruby1.9で文字コードを変換してみる。
encodeメソッドを使うことによって文字コードを変換できるらしい。
encode(to_encoding, from_encoding)ってな感じで使う。

サンプルコード

#coding:utf-8
# UTF-8
utf8_str = "あいうえお"
puts utf8_str.encoding # => UTF-8

# UTF-8→SJIS
sjis_str = utf8_str.encode("sjis", "utf-8")
puts sjis_str.encoding # => SJIS

実行結果

UTF-8
Shift_JIS

ファイル入出力時のエンコーディングはどう指定するんだろう。Javaだと明示的にしていしないと、
OSのデフォルトエンコーディングで入出力されるんだが。こんど調べてみるか。