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 Joyce 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

···

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

John Joyce 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

···

--
* Libraries:
    Chronic (chronic.rubyforge.org)
    God (god.rubyforge.org)
* Site:
    rubyisawesome.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"

···

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

John Joyce 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
--
Posted via http://www.ruby-forum.com/\.

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?

···

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

John Joyce 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

John Joyce 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!
--
Posted via http://www.ruby-forum.com/\.

Alle giovedì 16 agosto 2007, John Joyce ha scritto:

···

On Aug 16, 2007, at 2:57 PM, Wolfgang Nádasi-Donner wrote:
> John Joyce 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
> --
> 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

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:22 PM, Stefano Crocco wrote:

Alle giovedì 16 agosto 2007, John Joyce ha scritto:

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

John Joyce 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
--
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

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 8/16/07, John Joyce <dangerwillrobinsondanger@gmail.com> 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)

John Joyce wrote:

Alle giovedì 16 agosto 2007, John Joyce ha scritto:

John Joyce 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
--
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

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)

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:22 PM, Stefano Crocco wrote:

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

--
* Libraries:
    Chronic (chronic.rubyforge.org)
    God (god.rubyforge.org)
* Site:
    rubyisawesome.com

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

···

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

On 8/16/07, John Joyce <dangerwillrobinsondanger@gmail.com> 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"

* John Joyce <dangerwillrobinsondanger@gmail.com> (22:50) schrieb:

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