タグ

Rubyとencodingに関するsiroccoのブックマーク (2)

  • Ruby1.9をこれから使う人のためのM17Nまとめ

    仙台Ruby会議01で発表した内容のM17Nの部分をまとめました。 これから1.9を使う人の参考になればと思います。 重要なこと Stringのインスタンスが Encoding情報を持つようになりました 利用者は常にこのことを意識する必要があります。 1.9のStringには次のようなメソッドが追加されています String#encoding 現在のencodingを返します。 "牛タン".encoding => #<Encoding:UTF-8> String#force_encoding(encoding) データはそのままで、encoding情報のみ変更します。 バイト列自体は変更されません。 破壊的に変更されます。 "牛タン".force_encoding("EUC-JP") => "\xE7\x89\x9B\xE3\x82??\x83\xB3" String#encode(enc

    Ruby1.9をこれから使う人のためのM17Nまとめ
  • ruby|perl - 文字コードのちょっと高度な判定 : 404 Blog Not Found

    2007年01月11日21:00 カテゴリLightweight Languages ruby|perl - 文字コードのちょっと高度な判定 これははっきり言って悩ましい。ですが、判定が曖昧な場合はその旨をきちんと通知するのがBetter Practiceではないかと思います。 Matzにっき(2007-01-03) 手元のcalkiがUTF-8の「》」相当の文字(U+8BB)を含むエントリが文字化けするので、 nkf-utf8のソースを見てみた。 どうも自動判定の優先順位がEUC-JP,SJIS,JIS,UTF-8で固定されていて、 EUCの範囲内に収まる文字列はすべてEUC-JPとみなすことになっている。 で、UTF-8の「》」はEUC-JPの「損」と同じバイト列なのだ。例えば、以下を行ごとにコード判定すると、以下のような結果になります。 son.utf8 » 損 »損 »Son nk

    ruby|perl - 文字コードのちょっと高度な判定 : 404 Blog Not Found
  • 1