goo blog サービス終了のお知らせ 

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

初めてのRubyを読む その23 4.9

2011-10-04 11:35:41 | Ruby

「初めてのRuby」を読むの続き

4章 文字列
4.9 Ruby1.8とマルチバイト文字
から

※注意!1.8です。1.9は、明日。




■4.9.1 文字列=バイト列

・Ruby1.8までは、文字列は、単なるバイト列
  →エンコーディングを認識しない
  →Stringのlengthメソッドは、バイト長を課閲す
  →StringのupcaseはASCIIの範囲のみ、大文字にする

・でも、一部の機能は日本語対応
  →$KCODE対応メソッドと正規表現処理の2つ




■4.9.2 $KCODE対応メソッド

・一部のメソッドは「規定のエンコーディング」に従って、処理を変える
 →Stringのinspectメソッド:「規定のエンコーディング」で解釈、表示

・$KCODE:「規定のエンコーディング」を保持するグローバル変数




■4.9.3 正規表現
・正規表現は、日本語によく対応
  → . は1バイトでなく、1文字に対応

・scanメソッド
  →正規表現にマッチする部分文字列があると、ブロックを繰り返す
  →生成時のオプションn,s,e,uが指定されていれば、それに
   指定されていなければ、$KCODEに従って処理する




■4.9.4 文字列の同値性

・文字列の大小は、単純に先頭から1バイトづつ比較
  →エンコーディングは関知しない
  →文字列は同じでも、エンコーディングが違えば違う文字




■4.9.5 多言語対応

・$KCODEによって処理系のモードを切り替え
   →複数のエンコーディングが混在する場合は向いていない
   →他のスレッドが$KCODEを書き換えると、予期せぬ状況に

・Ruby1.8で国際化、多言語対応:UTF-8を仕様




次回は、1.9のマルチバイト処理
この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Androidのカメラアプリ、シャ... | トップ | PMBOKのお勉強 その2... »
最新の画像もっと見る

Ruby」カテゴリの最新記事