ruby 字符和 ascii 码之间的转换
字符 转 ascii
'a'.ord # => 97
"a".unpack('c') #=> 97 `c` 提取一个字符作为整数
"string".each_byte do |c|
puts c
end
'hello world'.each_byte.to_a
[104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]
'hello world'.bytes
[104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]
Ascii 转 字符
97.chr # => "a"
'hello world'.bytes # => [104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]
[104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100].map{|m|m.chr}
# => ["h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"]
字符转二进制
"aa".unpack('b8B8') #=> ["10000110", "01100001"]
B
从每个字符中提取位(首先是最高有效位)
b
从每个字符中提取位(首先是最低有效位)