"Srdjan Marinovic" <srdjan.marinovic / gmail.com> 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]