字符串字节大小为十六进制

时间:2017-06-13 12:39:46

标签: ruby string hex byte

我试图将ruby中的bytesize转换为十六进制字符串。 我尝试了各种pack / unpack / chr / hex组合无济于事。

这是我设法提出的,

"1".bytesize.chr.to_s.split.pack('a4') => "\x01\x00\x00\x00"

如您所知,这不适用于较大的字符串,例如,

"11111111".bytesize.chr().to_s.split.pack('a4') => "\b\x00\x00\x00"

其中第一个字节应为\x0B

"testtttttttttttttttttttttttttttttttttttttttttt".bytesize.chr.to_s.split.pack('a4') 
# => ".\x00\x00\x00"

这是错误的。

,即恰恰相反,Unpack 4 bytes to a signed integer,如果<string>.bytesize4294967295,则应为"\xFF\xFF\xFF\xFF"

0 个答案:

没有答案