Character to hex/binary/etc

Hmm… I can turn a number into a character with .chr
I can convert my numbers with .to_s(2) ((where 2 is a radix, or base))
But how do I convert numbers to characters??

John J. wrote:

Hmm… I can turn a number into a character with .chr
I can convert my numbers with .to_s(2) ((where 2 is a radix, or base))
But how do I convert numbers to characters??

I don’t understand what you mean - “to_s(b)” builds a string. What do
you mean by “convert numbers to characters” (example).

Wolfgang Nádasi-Donner

On Aug 16, 2007, at 2:57 PM, Wolfgang Nádasi-Donner wrote:


Posted via http://www.ruby-forum.com/.

yes it builds a string representation of a number.
I want to take a hex or binary number though and return a character.
0x49 for example is “I”

John J. wrote:

On Aug 16, 2007, at 2:57 PM, Wolfgang N�dasi-Donner wrote:


Posted via http://www.ruby-forum.com/.

yes it builds a string representation of a number.
I want to take a hex or binary number though and return a character.
0x49 for example is “I”

irb(main):002:0> 0x49.chr
=> “I”

It works!

Alle giovedì 16 agosto 2007, John J. ha scritto:

Wolfgang Nádasi-Donner

Posted via http://www.ruby-forum.com/.

yes it builds a string representation of a number.
I want to take a hex or binary number though and return a character.
0x49 for example is “I”

I think you need Integer#chr:

0x49.chr
=> ‘I’

Stefano

John J. wrote:

Hmm… I can turn a number into a character with .chr
I can convert my numbers with .to_s(2) ((where 2 is a radix, or base))
But how do I convert numbers to characters??

You may be looking for Array#pack. It’s useful for converting an array
from one encoding to another. One of these possibilities is to convert
an array of numbers into a string:

n = [65, 66, 67]
n.pack(“c*”)
#=> “ABC”

Pack (and unpack) can do tons of useful and surprising things.

Tom

On 8/16/07, John J. [email protected] wrote:

Oops, no, that’s not what I need. I can do that.
I need to take “I” or “J” or whatever character and convert to hex!
or binary
(sorry, I’m a little sleepy now)

like this?

irb(main):011:0> s = “A”
=> “A”
irb(main):012:0> s[0]
=> 65
irb(main):013:0> c = ?A
=> 65
irb(main):014:0> s[0].to_s(16)
=> “41”
irb(main):015:0> c.to_s(16)
=> “41”
irb(main):016:0> c.to_s(2)
=> “1000001”

On Aug 16, 2007, at 3:22 PM, Stefano C. wrote:

you mean by “convert numbers to characters” (example).

0x49.chr
=> ‘I’

Stefano

Oops, no, that’s not what I need. I can do that.
I need to take “I” or “J” or whatever character and convert to hex!
or binary
(sorry, I’m a little sleepy now)

On Aug 16, 2007, at 3:36 PM, Adam S. wrote:

=> “A”

Hmm… that first technique is useful! Returning elements of a string.

John J. wrote:

(sorry, I’m a little sleepy now)

Ah well in that case:

?I

=> 73

?I.to_s(2)

=> “1001001”

?I.to_s(16)

=> “49”

Tom Preston-Werner

On Aug 16, 2007, at 3:27 PM, Tom W. wrote:

to convert an array of numbers into a string:

n = [65, 66, 67]
n.pack(“c*”)
#=> “ABC”

Pack (and unpack) can do tons of useful and surprising things.

Tom

The creator of god! I must listen carefully.

I after some reading, I’m starting to think about using the files
signatures used by DROID / PRONOM
Anyone know much about that stuff? Any Ruby implementations/bindings?

Hmm… that first technique is useful! Returning elements of a string.

Gut that won’t work in Ruby 1.9. “haha”[0] is 104 in 1.8 but “h” in 1.9.
You have to use “haha”.bytes.first in Ruby 1.9, but that won’t work in
1.8.

mfg, simon … l