From: Yukihiro Matsumoto Date: 2008-12-08T17:48:19+09:00 Subject: [ruby-dev:37311] Re: invalid byte sequence by pack format 'A' or 'a' まつもと ゆきひろです In message "Re: [ruby-dev:37278] invalid byte sequence by pack format 'A' or 'a'" on Fri, 5 Dec 2008 11:52:14 +0900, "Yugui (Yuki Sonoda)" writes: |pack formatの'A'と'a'がリファレンスマニュアルの「ASCII文字列」という説明 |に反して文字列を単にバイト列として個数分だけ消費しています。 |結果としてこのようにvalidでないバイト表現が生成されることもあります。こ |れは仕様でしょうか? 分割して考えましょう。 * テンプレートAやaのカウントはバイト数か文字数か。 バイト列を生成するテンプレートとしても使われることもあり ますし、バイト数の方が良いと思います * validでないバイト列を生成することは意図的か 意図的です * validでないバイト列に元のエンコーディングを付加するか、 ASCII-8BITにするか [ruby-dev:37294]の結果とも関連すると思いますが、packの結果 は壊れていても関係ないという考え方と、明らかに壊れている場 合にはASCII-8BITにするという考え方があると思います。現時 点ではどちらと決めてはいません。 というわけで、現状は意図的だが、明らかに壊れている場合には ASCII-8BITにするというオプションはありえる、というのは私の結 論です。 まつもと ゆきひろ /:|)