From: Tanaka Akira Date: 2008-01-26T14:00:23+09:00 Subject: [ruby-dev:33401] _dump and encoding with marshal 以下のように、marshal 時に _dump が EUC-JP な String を返し た場合、_load で受け取る String はエンコーディングが ASCII-8BIT に変化しています。 % ./ruby -ve ' class C def _dump(limit) s1 = "\xa4\xa4".force_encoding("euc-jp") p [s1, s1.encoding] s1 end def self._load(s2) p [s2, s2.encoding] C.new end end o1 = C.new m = Marshal.dump(C.new) p m Marshal.load(m) ' ruby 1.9.0 (2008-01-26 revision 15237) [i686-linux] ["い", #] "\x04\bIu:\x06C\a\xA4\xA4\x00" ["\xA4\xA4", #] -- [田中 哲][たなか あきら][Tanaka Akira]