From: Phrogz Date: 2007-10-04T12:25:27+09:00 Subject: Re: Binary data, command output, and Ruby For my last post on this topic, a simpler test case showing Ruby on OS X behaving as expected, and Ruby on Windows...not. ==== Darwin Slim2.local 8.10.1 Darwin Kernel Version 8.10.1: Wed May 23 16:33:00 PDT 2007; root:xnu-792.22.5~1/RELEASE_I386 i386 i386 ruby 1.8.6 (2007-03-13 patchlevel 0) [i686-darwin8.9.1] Slim2:~/Desktop phrogz$ cat put_bytes.rb File.open( 'gkhead.jpg', 'rb' ){ |f| print f.read } Slim2:~/Desktop phrogz$ cat get_bytes.rb raw_bytes = File.open( 'gkhead.jpg', 'rb' ){ |f| f.read } rcv_bytes = `ruby put_bytes.rb` p raw_bytes.length, rcv_bytes.length Slim2:~/Desktop phrogz$ ruby get_bytes.rb 21443 21443 ==== Windows XP SP 2 (Microsoft Windows XP [Version 5.1.2600]) ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32] (latest one-click installer) C:\Documents and Settings\gavin.kistner\Desktop>type put_bytes.rb File.open( 'gkhead.jpg', 'rb' ){ |f| print f.read } C:\Documents and Settings\gavin.kistner\Desktop>type get_bytes.rb raw_bytes = File.open( 'gkhead.jpg', 'rb' ){ |f| f.read } rcv_bytes = `ruby put_bytes.rb` p raw_bytes.length, rcv_bytes.length C:\Documents and Settings\gavin.kistner\Desktop>ruby get_bytes.rb 21443 5159