From: "Yugui (Yuki Sonoda)" Date: 2008-12-25T16:18:46+09:00 Subject: [ruby-dev:37597] Re: [ruby-cvs:28174] Ruby:r20956 (trunk): * pack.c (pack_pack): encoding of packed string only from 'm', Yuguiです。 このコミットで ["abc".force_encoding("UTF-8")].pack("A").encoding #=> # がASCII-8BITになりました。これはラウンドトップを捨てるということですか? それともバグでしょうか。 ちなみに、unpackのほうは端からラウンドトリップに対応していません。 ["abc".force_encoding("UTF-8")].pack("A").unpack("A").first.encoding' #=> # なお、packについては今までの実装から想像した仕様をrubyspecに書いてありま すので % make update-rubyspec % ./ruby spec/mspec/bin/mspec -t ./ruby spec/rubyspec/1.8/core/array/pack_spec.rb すると何か役に立つかもしれません。 On 12/24/08 12:30 AM, matz@ruby-lang.org wrote: > matz 2008-12-24 00:30:05 +0900 (Wed, 24 Dec 2008) > > New Revision: 20956 > > http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20956 > > Log: > * pack.c (pack_pack): encoding of packed string only from 'm', > 'M', and 'u' should be US-ASCII. [ruby-dev:37284] > * pack.c (pack_pack): encoding of packed string only from 'U' > should be UTF-8. also upgrade US-ASCII strings to UTF-8. > > Modified files: > trunk/ChangeLog > trunk/pack.c > -- Yugui http://yugui.jp 私は私をDumpする