From: Brian Candler Date: 2007-03-11T18:44:04+09:00 Subject: Re: parse hex ascii On Sun, Mar 11, 2007 at 11:20:16AM +0900, Mark Zvilius wrote: > I want to parse a hex-ascii string into an array of numbers. For > example: > > "0164" => [1,100] > > Essentially I need to iterate through character pairs and use > String#hex: > > "01".hex => 1 > "64".hex => 100 > > I can do this easily enough in "C style" with an index into the string, > i.e. equivalent to a C "for" loop. But I'm interested in solutions that > are more in the "Ruby style," using an iterator. > > Suggestions? ["01FF"].pack("H*").each_byte { |b| puts b } or: ["01FF"].pack("H*").unpack("C*").each { |b| puts b } (the second form constructs an explicit array of Fixnums) Regards, Brian.