我想将字符串对象转换为字节,反之亦然。
是否可以使用Ruby Packer / Unpacker?
我无法找到要使用的格式说明符
*pack_object = "Test".pack('**x**')* where x is format specifier
*unpacked_object = pack_object.unpack('**x**')* , this should result in "Test" string
答案 0 :(得分:0)
String
有一个bytes
方法,它返回一个整数数组:
'Type'.bytes
#=> [84, 121, 112, 101]
等效unpack
指令为C*
:(已经noted by cremno)
'Type'.unpack('C*')
#=> [84, 121, 112, 101]
或者相反:
[84, 121, 112, 101].pack('C*')
#=> "Type"
请注意pack
以二进制编码方式返回字符串。
关于your comment:
我需要的输出与我打包的串口相同
pack
和unpack
是对应的,因此您可以使用所有类型的指令:
'Type'.unpack('b*')
#=> ["00101010100111100000111010100110"]
['00101010100111100000111010100110'].pack('b*')
#=> 'Type'