MutableString can have one of three internal representations, depending on how it was last used. One of these is a byte array. This particular problem may be in the scanner or parser and not in the actual string class, as we don't otherwise have a problem storing the character:
>>> $s = "\204" => "?" >>> $s[0] => 63 >>> $s[0] = 132 => 132 >>> $s => "\204" >>> From: Michael Letterle [mailto:[EMAIL PROTECTED] Sent: Monday, July 14, 2008 6:21 AM To: [email protected] Cc: IronRuby Team Subject: Re: [Ironruby-core] MutableString encoding issue This was a known issue a while back, it's the reason the Zlib library didn't work well with binary files. I'm fairly certain there was work being done on making String be backed by a byte array... and in fact I thought this was already done. On Mon, Jul 14, 2008 at 2:20 AM, Oleg Tkachenko <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> wrote: Stumbled on this when testing yaml. >>> "\204" => "?" While irb(main):005:0>"\204" => "\204" I believe Ruby string can hold arbitrary byte values, but as we are storing content as a string we are obviously losing all values that cannot be represented in default encoding. Tomas, what do you think? -- Oleg _______________________________________________ Ironruby-core mailing list [email protected]<mailto:[email protected]> http://rubyforge.org/mailman/listinfo/ironruby-core -- Michael Letterle [Polymath Prokrammer] http://blog.prokrams.com
_______________________________________________ Ironruby-core mailing list [email protected] http://rubyforge.org/mailman/listinfo/ironruby-core
