在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您正在尝试修复一个断开的字符串吗?我添加了一个示例。