From: "Yugui (Yuki Sonoda)" Date: 2008-12-05T11:52:14+09:00 Subject: [ruby-dev:37278] invalid byte sequence by pack format 'A' or 'a' Yuguiです。 pack formatの'A'と'a'がリファレンスマニュアルの「ASCII文字列」という説明 に反して文字列を単にバイト列として個数分だけ消費しています。 str = "\xe3\x81\x82".force_encoding("UTF-8") p str #=> "あ" str = [str].pack("A") p str #=> "\xE3" p str.encoding #=> # 結果としてこのようにvalidでないバイト表現が生成されることもあります。こ れは仕様でしょうか? 考え方としては (1) strがUS-ASCIIまたはASCII-8BITでなければ例外を発生 (2) 戻り値の文字列をASCII-8BITにする などの選択肢があり得ると思います。 -- Yugui http://yugui.jp 私は私をDumpする