gpt4 book ai didi

python - python 2.7 的 unicode 文字需要什么编码?

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

好的。所以我有一个库给了我这样的值:

>>> x
'ADC (10^-6 mm\xb2/s):Sep 05 2017 11-58-19 CDT'
>>> type(x)
str
>>> print(x)
ADC (10^-6 mm?/s):Sep 05 2017 11-58-19 CDT

它不是 ascii,而且看起来也不是 UTF-8:

>>> x.decode('utf-8')
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb2 in position 13: invalid start byte

我不能直接转换它:

>>> y = unicode(x)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb2 in position 13: ordinal not in range(128)

但我可以通过直接复制和粘贴来做到这一点:

>>> y = u'ADC (10^-6 mm\xb2/s):Sep 05 2017 11-58-19 CDT'
>>> type(y)
unicode
>>> y.encode('utf-8')
'ADC (10^-6 mm\xc2\xb2/s):Sep 05 2017 11-58-19 CDT'
>>> print(y)
ADC (10^-6 mm²/s):Sep 05 2017 11-58-19 CDT

我想将 x 转换为 unicode 类型。由于某种原因,将值指定为文字是有效的。有没有办法使用相同的文字分配规则来解码我的 x

抱歉。我知道我在这里错过了一些 super 基本的东西。

最佳答案

看起来该库正在为您提供 latin-1 编码(或者可能是代码页 1252)的字符串。这很烦人,不是吗……你必须猜测正确的编码是什么! (这是Python 3的插入因素之一。)

y = x.decode('latin-1')

请注意,在 latin-1 中,解码后 '\xb2' 变为 u'\xb2'。对于所有 latin-1 字符都是如此,因为 Unicode 的底部 256 个代码点与 latin-1 相同。

关于python - python 2.7 的 unicode 文字需要什么编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46079987/

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