Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.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_Binary_Unpack - Fatal编程技术网

在ruby中将字符串撤消为二进制

在ruby中将字符串撤消为二进制,ruby,string,binary,unpack,Ruby,String,Binary,Unpack,我有一个从字符串转换为二进制的代码: > s = "Anatomía Según Grey" => "Anatomía Según Grey" > s.unpack("a*").first => "Anatom\xC3\x83\xC2\xADa Seg\xC3\x83\xC2\xBAn Grey" 如何获取原始字符串(撤消解包)转换相当于: s = "Anatomía Según Grey" #=> "Anatomía Según Grey"

我有一个从字符串转换为二进制的代码:

> s = "Anatomía Según Grey"
=> "Anatomía Según Grey"

> s.unpack("a*").first
=> "Anatom\xC3\x83\xC2\xADa Seg\xC3\x83\xC2\xBAn Grey"

如何获取原始字符串(撤消
解包)

转换相当于:

s = "Anatomía Según Grey"
#=> "Anatomía Según Grey"

s.force_encoding('BINARY')
#=> "Anatom\xC3\x83\xC2\xADa Seg\xC3\x83\xC2\xBAn Grey"
可以通过以下方式“反转”:(您可能需要调整
'UTF-8'
零件)

不会更改字符串,它只定义字节的解释方式

要修复字符串,您可能还需要调用:

"Anatomía Según Grey".encode('ISO-8859-1').force_encoding('UTF-8')
#=> "Anatomía Según Grey"

转换相当于:

s = "Anatomía Según Grey"
#=> "Anatomía Según Grey"

s.force_encoding('BINARY')
#=> "Anatom\xC3\x83\xC2\xADa Seg\xC3\x83\xC2\xBAn Grey"
可以通过以下方式“反转”:(您可能需要调整
'UTF-8'
零件)

不会更改字符串,它只定义字节的解释方式

要修复字符串,您可能还需要调用:

"Anatomía Según Grey".encode('ISO-8859-1').force_encoding('UTF-8')
#=> "Anatomía Según Grey"

有一个pack方法,但我不确定你需要输入什么参数来反转解包有一个pack方法,但我不确定你需要输入什么参数来反转解包正如我刚才检查的,还有一个
encode
方法,它实际上会改变字符串。@FranMartinez你想修复一个断开的字符串吗?我已经添加了一个示例。正如我刚才检查的,还有一个
encode
方法实际上会更改字符串。@FranMartinez您正在尝试修复一个断开的字符串吗?我添加了一个示例。