From: "Yugui (Yuki Sonoda)" Date: 2008-12-07T11:54:23+09:00 Subject: [ruby-dev:37294] [BUG:trunk] Encoding in which Array#pack returns when a string-related format and a byte seq format are mixed Yuguiです。 現在、次のようになります。 ["\u3042", 1].pack("A*s!").encoding #=> # しかしながら、s!が生成するのは本質的にバイナリであって、この場合 rb_enc_compatible(UTF-8, ASCII-8BIT) で全体はASCII-8BITになるべきではな いでしょうか。 今のところは * s!が生成するのはエンコーディングを持たない => 結合相手がいればそれに従う => いなければASCII-8BIT という判断のように見えます。 しかしながら、AaMmUuxなどを除けばpackが生成するのは文字列というよりはバ イト列です。特にプラットフォーム依存なpack formatについてはその色彩が濃 厚です。これらは積極的にASCII-8BITに傾けるべきではないでしょうか。 -- Yugui http://yugui.jp 私は私をDumpする