いくつかある文字コードライブラリ

NKF以外にも、KconvやIconv、そしてUconvなんてものまである。
何でこんなにたくさんあるの?
どれを使えばいいのかよく分からない。


と思ってぐぐってみたら、
るびまのこんな記事が出てきた。


ふーん。なるほどね。
文字コード絡みのことで分からなくなったらまたここを見ることにしよう。
とりあえずは、Kconvが一番分かりやすくて使いやすそうな感じ。
Kconvの特徴を以下に挙げてみる。

  • Ruby1.8.2以降のKconvUTF-8にも対応
  • requireするとStringクラスにKconvのメソッドが組み込まれる
  • 内部でNKFを使っている(つまりKconvNKFのラッパー)
  • NKFとは違い複雑な処理には向いていない
  • MIMEのデコードと、半角カナから全角カナへの変換を自動で行う


最後の、MIMEのデコードと、半角カナから全角カナへの変換を自動で行う
ってのがちょっと気になるけど、
普通に文字コードを変換する分にはあまり気にしないでよさそうかな?
以下のようにStringのメソッド感覚で直感的に使えるのはとてもよかですね。

puts "ほげほげ".tosjis