我知道这里有很多编码/解码主题,我试了几个小时,但我仍然无法解决它。因此,我想提出一个问题:
我有一个十六进制值的字符串,最后是一个我想用正确的编码写入文本文件的文本。
hexvalues = "476572E2A47465646574656B746F72"
最后,(德国)结果应为“Gerätedetektor”
目前我正在使用binascii.unhexlify()
进行解码,但它仍然没有向我显示它应该是的“ä”,相反,我得到了:
>> result = binascii.unhexlify(hexvalues)
Gerâ¤tedetektor
我尝试做result.decode("utf-8")
以及其他许多事情但是脚本崩溃了,或者它也没有返回我想要看到的内容。
最后,我想以正确的方式将单词写入文件。
任何帮助都将受到高度赞赏!
编辑: 正如我之前写的那样,我尝试了很多东西,所以很难给出我正在使用的ONE代码,但这里是当前版本的摘录:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import binascii
resultfile = "text_GER.txt"
fpx = open(resultfile, 'wb')
hexvalues = "476572E2A47465646574656B746F72"
result= binascii.unhexlify(hexvalues )
result= result.decode("utf-8")
print(result)
fpx.write(result)
这个使脚本崩溃,但没有进一步指示它为什么会这样做。
如果我跳过
result= result.decode("utf-8")
然后我的结果打印结果如下:
b'Ger\xe2\xa4tedetektor'