我正在尝试使用ruby将十六进制字符串转换为字节数组。
48656c6c6f2c20576f726c6421 => 0100 1000 0110 0101 0110 1100 0110 1100 0110 1111 0010 1100 0010 0000 0101 0111 0110 1111 0111 0010 0110 1100 0110 0100 0010 0001 => [72,65 ...]
有关最佳方法的任何建议吗?
这是我到目前为止所写的内容,但没有那么高兴继续下去,想知道可能有一个更容易的方式
binaryArray = Array.new
hex.each_char do |x|
bin = x.hex.to_s(2) #get the binary value for the HEX
val = bin.rjust(4,'0') # padding with zeros to have a 4 digits
binaryArray.push(val)
end
答案 0 :(得分:1)
"48656c6c6f2c20576f726c6421".to_i(16).to_s(2)
#=> "1001000011001010110110001101100011011110010110000100000010101110110111101110010011011000110010000100001"