Ruby中的十六进制字符串到字节数组

时间:2014-10-30 06:14:47

标签: ruby

我正在尝试使用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

1 个答案:

答案 0 :(得分:1)

"48656c6c6f2c20576f726c6421".to_i(16).to_s(2)
#=> "1001000011001010110110001101100011011110010110000100000010101110110111101110010011011000110010000100001"