hi,
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),...
Thanks
srdjan
Srdjan Marinovic wrote:
0x2a, 0x7e, 0x0a, 0x7e
[ 0x2a, 0x7e, 0x0a, 0x7e ].pack 'C*'
···
--
Florian Frank
Srdjan Marinovic wrote:
hi,
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),...
Thanks
srdjan
irb(main):001:0> p = "\x2a\x7e\x0a\x7e"
=> "*~\n~"
irb(main):002:0>
···
--
Posted via http://www.ruby-forum.com/\.
"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]
the append operator of String does what you want with Fixnums. as others have
pointed out you can use pack to initially contruct it. but you can also
continue to build it up with a simple '<<'
harp:~ > cat a.rb
s = [ 0x2a, 0x7e, 0x0a, 0x7e ].inject(''){|s,c| s << c}
p s[0]
p 0x2a
harp:~ > ruby a.rb
42
regards.
-a
···
On Wed, 6 Sep 2006, Srdjan Marinovic wrote:
hi,
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),...
Thanks
srdjan
--
what science finds to be nonexistent, we must accept as nonexistent; but what
science merely does not find is a completely different matter... it is quite
clear that there are many, many mysterious things.
- h.h. the 14th dalai lama
thanks a lot for you help
···
On 9/6/06, Florian Frank <flori@nixe.ping.de> wrote:
Srdjan Marinovic wrote:
> 0x2a, 0x7e, 0x0a, 0x7e
[ 0x2a, 0x7e, 0x0a, 0x7e ].pack 'C*'
--
Florian Frank