2015-07-21 90 views
0

我想将字符串对象转换为字节,反之亦然。使用打包器/解包器将字符串对象转换为字节,反之亦然Ruby

是否有可能使用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

@cremno无法解压 – user1747819

+0

没有'String#pack',它是'Array#pack'和'String#unpack ' – Stefan

+1

请包括所需的(中间)输出 – Stefan

回答

0

Stringbytes方法返回一个整数数组:

'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

,我需要为我包装

packunpack是同行一样串成,所以你可以使用所有类型的指令的输出:

'Type'.unpack('b*') 
#=> ["00101010100111100000111010100110"] 

['00101010100111100000111010100110'].pack('b*') 
#=> 'Type' 
相关问题