我有一个从0255的整数数组,每个数组代表两个十六进制数字。我想用ruby把这个数组转换成一个十六进制字符串。我该怎么做?

最佳答案

具有packunpack:(或unpack1红宝石2.4+)

[0, 128, 255].pack('C*').unpack('H*')[0]
#=> "0080ff"

[0, 128, 255].pack('C*').unpack1('H*')
#=> "0080ff"

实际的二进制十六进制字符串已由pack('C*')返回:
[0, 128, 255].pack('C*')
#=> "\x00\x80\xFF"

unpack('H*')然后将其转换回人类可读的表示形式。

关于ruby - Ruby:如何将整数列表转换为十六进制字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40682593/

10-15 09:59