ルビ1に注意してください。図9は、16進表現で印刷できない文字を検査します:
3.chr # => "\x03"
さらに混乱は時々、文字列がUnicode(UTF-8)に表示されるということです。
"\003" # => "\u0003" (utf-8)
3.chr.encoding # => #<Encoding:US-ASCII>
"\003".encoding # => #<Encoding:UTF-8>
"\003" == 3.chr # => true (this is strange because the encoding is different)
あなたはどのように理解しようとしている場合これらのオクタルと進文字列は、あなたがバイナリに変換することができ、数値を小数に関連:
"\003".unpack('B*') # same as "\003".ord.to_s(2)
# => ["00000011"] # the 2 least significant bits are set
2.to_s(2) # convert to base 2
#=> "10"
表現3 & 2
は、ビット単位-とバイナリであります11bおよび10bの数字は10bをもたらす(なぜなら、1 & 1は最上位ビットのため1であるから、 1 & 0は最下位に0です)。
その他の変換:
'%x' % 97 # => '61' hex
0x61 # => 97 decimal from raw hex input
'%o' % 97 # => '141' octal
0141 # => 97 decimal from raw octal input
これは、クラッシュコースの一種ですが、あなたはおそらく、より詳細な情報のためのgoogleなければなりません。
正確に私が欲しかったのは、答え: – Markus1189