On Thu, 7 Apr 2011 04:30:13 +0900, Angelo NN wrote: > Hello - > New Ruby user here. > I was wondering if you could point me in the right direction: > > - I save the output of a WMIC query to a temp text file on Windows 2008 > using Ruby: > > system("wmic MEMORYCHIP get CAPACITY /VALUE > tmp") > > - Next, I try to read this file back in order to extract a value from > the output: > > contents = File.open('tmp', 'r:') { |f| f.read } > > However, when I run this in irb, the file is imported with the following > leading characters: \x00 and others. If I open the actual tmp file in > Windows, it displays the correct text. > > Is there a way to just import that text only? Is this something to do > with encoding? > > Thank you for your help. > > Here is the entire session in irb: > > irb(main):002:0> system("wmic MEMORYCHIP get CAPACITY /VALUE > > tmp") > => true > irb(main):003:0> contents = File.open('tmp', 'r:') { |f| f.read } > => > "\xFF\xFE\n\x00\n\x00N\x00o\x00d\x00e\x00,\x00C\x00a\x00p\x00a\x00c\x00i\x00t > \x00y\x00\n\x00\n\x00P\x00S\x00,\x008\x005\x008\x009\x009\x003\x004\x005\x009\x0 > 02\x00" > irb(main):004:0> > > -- > Posted via http://www.ruby-forum.com/. > > As it starts with a UTF-16 LE Byte order marker, that's a pretty good clue as to the encoding. -jh