Python - 从十六进制值解码文本(德语)并将其写入文件

时间:2018-02-17 12:38:25

标签: python python-3.x encoding utf-8 decoding

我知道这里有很多编码/解码主题,我试了几个小时,但我仍然无法解决它。因此,我想提出一个问题:

我有一个十六进制值的字符串,最后是一个我想用正确的编码写入文本文件的文本。

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'

0 个答案:

没有答案