From: Yukihiro Matsumoto Date: 2008-09-25T15:37:20+09:00 Subject: [ruby-dev:36557] Re: Encoding.default_internal のためのパッチ まつもと ゆきひろです In message "Re: [ruby-dev:36536] Re: Encoding.default_internal のためのパッチ" on Thu, 25 Sep 2008 06:43:25 +0900, "NARUSE, Yui" writes: |む、UTF-{16,32} に対する見通しがわたしと若干違うかも。 | |思うに、現在懸案の諸々の問題に一通り解はあって、端的に言えば |「7bit ASCII String を UTF-16 にしてくっつければいいだけ」です。 | |例えば、UTF-16LE の str="あ" に対して "text=#{str}" を行った場合、 |期待される動作は UTF-16LE な "text=あ" に決まっています。 |つまり、仕様上の悩みはありません。 |実装も "text=".encode("UTF-16LE") するだけですので、問題ありません。 個人的な印象では"text=#{str}"のエンコーディングを算定するにあ たって、主となるのはあくまでもテキストそのもので、strのエンコー ディングを優先することは考えてもみませんでした。今、改めて考 えてみてもかなり違和感があります。 |正規表現も仕様上の悩みは全くありません。 |実装も、US-ASCII or UTF-8 ならば裏で UTF-16LE にコンパイルしなおす、 |という方法があります。 |具体的には Regexp.new(/\u3042/.source.encode("UTF-16LE")) と簡単なものです。 | |つまり、特に悩む点は多くなく、単に時間が足りないだけです。 |とはいえ、作業量も絶望的なほど多いわけでもないので、 |物好きが一人現れれば片付く量でしょう。 こちらについては異論はありません。 |以上のように、UTF-{16,32} はバイト列としては ASCII 非互換でも、 |コードポイント列としては ASCII 互換なので、 |そこまで悩みが多いわけではないのです。 とはいえ、UTF-16を削除しようというのは、それほど強い主張では ないので、「残した方がよい」という声が大きければ(実際すでに あがっていますが)、残してもかまわないと思っています。 まつもと ゆきひろ /:|)