From: Tanaka Akira Date: 2008-01-20T03:14:08+09:00 Subject: [ruby-dev:33194] Re: Binary String In article <4791F22E.8040207@airemix.com>, "NARUSE, Yui" writes: >> ある時点まで ASCII で書いていたソースで、あるとき UTF-8 の文 >> 字列リテラルを書いたとき、そのファイル中の他のすべての文字列 >> リテラルも UTF-8 になる、というのはちょっとナニだな、と思い >> ます。 そういえば、人間の都合ではなく実装の都合ですが、性能の話もあ ります。 ASCII-8BIT や US-ASCII はシングルバイトエンコーディングなの で、文字単位のインデックスを簡単にできることがエンコーディン グを見ただけでわかります。 それに対し、UTF-8 などのマルチバイトエンコーディングだとそれ なりに厄介な話になります。文字列に ASCII 文字しか入っていな くても、そのことを確認できているかという問題があって単純には いきません。 > この対策として、 > b') ASCII only の文字列は常に US-ASCII を返す > という手もあるのかな これは文字列に ASCII 文字しか入っていないことを調べる必要が あるので、ちょうど上で述べた確認の話につながります。 まぁ、文字列の長さに比例した時間をかけていいのであればいいん ですが。 -- [田中 哲][たなか あきら][Tanaka Akira]