プログラマのための文字コード技術入門 第7章「プログラミング言語と文字コード」その4
第7章の続き、Ruby 1.8 での文字列扱いについてのところから再開です。
- Ruby 1.8 では String はただの 8ビットのバイト列。length などのメソッドもマルチバイト文字を考慮しない(バイト数を返す)
- 文字クラスはない
- require "jcode" すると String が拡張される。String#jlength で文字数を返すようになる
- -K オプションによる文字コード指定。$KCODE 変数に反映される
- 文字コード変換
Ruby 1.8 の String クラス自体は標準の状態では要するに文字コードのことは一切考えていないと言えます。平易ではありますがいざ文字コードを正しく扱おうとすると大変そうでもあります。1.9 では組み込みで文字コードを扱うようになっているので明日はそこを読みたいと思います。