From: pharrington Date: 2009-08-13T13:25:11+09:00 Subject: Re: in-memory implementation of IO class On Aug 12, 11:34 pm, Nathan Beyer wrote: > On Wed, Aug 12, 2009 at 10:15 PM, James Gray wrote: > > On Aug 12, 2009, at 10:07 PM, Nathan Beyer wrote: > > >> Is there an implementation of the IO class that operates on in-memory > >> byte arrays (or other data structure)? I haven't seen anything in the > >> core/stdlib. > > > Yes, see the standard StringIO library. > > > James Edward Gray II > > Excuse my ignorance -- I'm just getting into Ruby, but isn't the > StringIO for working with character data? Is there no distinction > between characters and bytes? I was assuming that StringIO and String > would cause some form of character encoding/decoding processing to > kick in. > > Thanks > - Nathan I would think this is what the #bytes, #each_byte, #readbyte, etc methods are for. But I've never actually used StringIO *myself*, so I can't say for sure. (However, the fact that Rack and ActionPack both use StringIO for processing requests says its safe for raw data)