From: Daniel Martin Date: 2006-09-06T23:37:37+09:00 Subject: Re: constructing a string from hex value "Srdjan Marinovic" writes: > How do I construct a string out of hex values? > In other words I want to give exact hex value for each byte in the > string. So I would have soemthing like > > 0x2a, 0x7e, 0x0a, 0x7e > > If I go through Fixnum I get my string to contain numbers 48, 115, 10, > 115 but I do not want that but rather a string of ASCII(48), > ACII(115),... irb(main):001:0> a = [ 0x2a, 0x7e, 0x0a, 0x7e ] => [42, 126, 10, 126] irb(main):002:0> a.map{|x|x.chr}.join => "*~\n~" If all you have is the string representation of the hex values (say, if you're reading hex values from a file), you have to do just a tiny bit more to first convert the hex values into integers: irb(main):001:0> a = %w[ 2a 7e 0a 7e ] => ["2a", "7e", "0a", "7e"] irb(main):002:0> a.map{|x|x.hex.chr}.join => "*~\n~" But only just barely more. -- s=%q( Daniel Martin -- martin@snowplow.org puts "s=%q(#{s})",s.map{|i|i}[1] ) puts "s=%q(#{s})",s.map{|i|i}[1]