Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将字节序列编码为带字符的ruby字符串_Ruby_String_Encode_Hex - Fatal编程技术网

如何将字节序列编码为带字符的ruby字符串

如何将字节序列编码为带字符的ruby字符串,ruby,string,encode,hex,Ruby,String,Encode,Hex,如何将ruby字符串中的字节序列编码为ruby字符串人类可读字符 这是输入字符串: “\x127\x00\x06\x00\x00\x00\x01\x00\xA2\x8F” 那么如何将这个字符串解析成带有字节的数组 并将数组中的每个元素编码为ASCII字符 不过,我找不到从字节返回数组的方法。我尝试将Array.pack与U*选项一起使用,但这不适用于多字节字符。您可以尝试以下方法: "string\xaa".each_byte.map {|b| "%c(%x)" % [ b, b ] }.j

如何将ruby字符串中的字节序列编码为ruby字符串人类可读字符

这是输入字符串:


“\x127\x00\x06\x00\x00\x00\x01\x00\xA2\x8F”

那么如何将这个字符串解析成带有字节的数组

并将数组中的每个元素编码为ASCII字符


不过,我找不到从字节返回数组的方法。我尝试将Array.pack与U*选项一起使用,但这不适用于多字节字符。

您可以尝试以下方法:

"string\xaa".each_byte.map {|b| "%c(%x)" % [ b, b ] }.join( ' ' )
# => "s(73) t(74) r(72) i(69) n(6e) g(67) ª(aa)"

请举例说明你所说的“人类可读”是什么意思(如果我想把你的例子理解为一个Ruby字符串,我可以很好地理解它)。另外,最好展示一些到目前为止你已经掌握的代码,否则回答你的问题需要更多的努力(而且很少有人会这么想)。也许这个方法会帮助你-。。但我怎么不知道……)很抱歉结束这件事。我想如果你知道你在找什么,你可能一开始就不需要问这个问题。可能重复
“string\xaa”。each_byte.map{| b |%c”%b}