From: Martin Duerst Date: 2008-11-13T14:56:34+09:00 Subject: [ruby-dev:37084] Re: [Feature #747] /\A/u ignores BOM At 18:40 08/11/12, Tietew wrote: > >On Wed, 12 Nov 2008 17:49:47 +0900 >In article <491a994c33f6e_95d7d550be42e4@redmine.ruby-lang.org> >[[ruby-dev:37075] [Feature #747] /\A/u ignores BOM] >Shyouhei Urabe wrote: > >> /\A/uがBOMにヒットしないのが嬉しくないです。普通、BOMはあるとすれば文字列の >先頭に付いていることが多いので、/\A/uがBOMにヒットするのが自然だと思います。 > >http://www.ietf.org/rfc/rfc3629.txt >RFC 3629 を読むと、内部処理には U+FEFF を特別扱いしないことを推奨してい >るように思いますが、どうなんでしょう。 U+FEFF は BOM の役割だけではなく、ZERO WIDTH NON BREAKING SPACE と言う役割 もありますし、正規表現では多くの場合ファイルの先頭ではなく、単なる何かの 文字列をマッチしますので、BOM を特別扱い刷るのは好ましくないと思います。 どうしても今より Ruby の BOM への対応を強化したいとなら、文字列変換 (ファイル入出力限定) で :bom => :remove (入力の場合) とか :bom => :add (出力の場合) とかの方向で考えた方がいいかと思います。 宜しくお願いします。 Martin. #-#-# Martin J. Du"rst, Assoc. Professor, Aoyama Gakuin University #-#-# http://www.sw.it.aoyama.ac.jp mailto:duerst@it.aoyama.ac.jp