gpt4 book ai didi

python - 不可打印的python unicode字符串

转载 作者:太空宇宙 更新时间:2023-11-04 02:14:22 24 4
gpt4 key购买 nike

我从图像中检索了一些 exif 信息并得到了以下信息:

{ ...
37510: u'D2\nArbeitsamt\n\xc3\x84nderungsbescheid'
...}

我以为会是

{ ...
37510: u'D2\nArbeitsamt\nÄnderungsbescheid'
... }

我需要将值转换为 str,但我无法让它正常工作。我总是得到类似的东西(使用 python27)

UnicodeEncodeError: 'ascii' codec can't encode characters in position 14-15: ordinal not in range(128)

有什么办法可以处理吗?

更新:

我用 python3 试过了,现在抛出错误,但结果是现在

{ ...
37510: 'D2\nArbeitsamt\nÃ\x84nderungsbescheid',
... }

这仍然不是预期的。

最佳答案

似乎是 utf8 被错误地解码为 latin1,然后放在一个 unicode 字符串中。您可以使用 .encode('iso8859-1') 来反转不正确的解码。

>>> my_dictionary = {37510: u'D2\nArbeitsamt\n\xc3\x84nderungsbescheid'}
>>> print(my_dictionary[37510].encode('iso8859-1'))
D2
Arbeitsamt
Änderungsbescheid

你现在可以打印出来了,但你也可以将它解码为 un​​icode,所以它最终会得到正确的类型以供进一步处理:

>>> type(my_dictionary[37510].encode('iso8859-1'))
<type 'str'>
>>> print(my_dictionary[37510].encode('iso8859-1').decode('utf8'))
D2
Arbeitsamt
Änderungsbescheid
>>> type(my_dictionary[37510].encode('iso8859-1').decode('utf8'))
<type 'unicode'>

关于python - 不可打印的python unicode字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52973649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com