gpt4 book ai didi

unicode - python编码转换

转载 作者:行者123 更新时间:2023-12-04 18:50:47 24 4
gpt4 key购买 nike

这是我的问题,我想修复一个错误编码的变量。长话短说,我最终得到:

myVar=u'\xc3\xa9'

这是错误的,因为它是字符 'é' 或 \u00e9 UTF-8 编码,而不是 unicode。

我尝试过的编码/解码组合似乎都不能解决问题。我看着 bytearray 对象,但你必须提供一个编码,显然它们都不适合。

基本上我需要将字节数组重新解释为正确的编码。关于如何做到这一点的任何想法?
谢谢。

最佳答案

你应该做的。

>>> b='\xc3\xa9'
>>> b
'\xc3\xa9'
>>> b.decode("UTF-8")
u'\xe9'

由于您没有显示导致问题的损坏代码,我们所能做的就是将复杂的问题变得更加复杂。

这似乎就是你所看到的。
>>> c
u'\xc3\xa9'
>>> c.decode("UTF-8")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)

这是一个解决方法。
>>> [ chr(ord(x)) for x in c ]
['\xc3', '\xa9']
>>> ''.join(_)
'\xc3\xa9'
>>> _.decode("UTF-8")
u'\xe9'

修复开始产生错误内容的代码。

关于unicode - python编码转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6498533/

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