From: Fujioka Date: 2007-05-15T17:56:00+09:00 Subject: [ruby-list:43510] Re: UTF-8でtrがうまく機能しない 藤岡です。 > utf-8での、各文字のビットパターンを見るとこんな感じになります。 > > ヤ :: e3:83:a4 > ャ :: e3:83:a3 > ユ :: e3:83:a6 > ュ :: e3:83:a5 > ヨ :: e3:83:a8 > ョ :: e3:83:a7 > ア :: e3:82:a2 > ァ :: e3:82:a1 > イ :: e3:82:a4 > ィ :: e3:82:a3 > ウ :: e3:82:a6 > ゥ :: e3:82:a5 > エ :: e3:82:a8 > ェ :: e3:82:a7 > オ :: e3:82:aa > ォ :: e3:82:a9 > ツ :: e3:83:84 > ッ :: e3:83:83 > > ということと、tr は $KCODEの内容によらずバイトごとに置換を行うので > (これはFAQにあるとおり)、ッの最下位バイトの 0x83 と ツの最下位バイト > の 0x84のところでおかしくなるのでしょう(他の文字では0x83はそのまま > 0x83に置き換わるパターンになっている)。 > > で、"ホウジョウソウウン"のほうは > ホ :: e3:83:9b > ウ :: e3:82:a6 > ジ :: e3:82:b8 > ョ :: e3:83:a7 > ウ :: e3:82:a6 >   :: e3:80:80 > ソ :: e3:82:bd > ウ :: e3:82:a6 > ウ :: e3:82:a6 > ン :: e3:83:b3 > > ホとンに 0x83が含まれているので大当たり、と。 > 大当たりのようです。 リファレンスに書いていないので、なんともFAQまでは たどり着いていませんでした。 リファレンスにコメントが書いてあるとうれしいです。