gpt4 book ai didi

python - str.encode 期望输入什么?

转载 作者:行者123 更新时间:2023-11-30 23:16:22 25 4
gpt4 key购买 nike

我希望对项目中的所有字符串使用 unicode 而不是 str 。我正在尝试使用 str.encode 方法,但无法从文档中了解 encode 方法到底执行或期望作为输入的内容。

希腊小写字母 pi 为 U+03C0,用 UTF-8 编码时为 0xCF 0x80。我得到以下信息:

>>> s1 = '\xcf\x80'
>>> s1.encode('utf-8','ignore')

Traceback (most recent call last):
File "<pyshell#61>", line 1, in <module>
s1.encode('utf-8','ignore')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xcf in position 0: ordinal not in range(128)

我尝试过:

>>> s2='\x03\xc0'

>>> s2.encode('utf-8','ignore')

Traceback (most recent call last):
File "<pyshell#62>", line 1, in <module>
s2.encode('utf-8','ignore')
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc0 in position 1: ordinal not in range(128)

encode 期望输入什么,为什么“ignore”选项不忽略错误?我尝试了“替换”,但这也无法掩盖错误。

最佳答案

在Python 2.x中,str是一个字节字符串(编码)。您可以将其解码为 un​​icode 对象:

>>> s1 = '\xcf\x80'  # string literal (str)
>>> s1.decode('utf-8')
u'\u03c0'

对于 unicode 对象,您可以进行编码:

>>> u1 = u'\u03c0'  # unicode literal (unicode)  U+03C0
>>> u1.encode('utf-8')
'\xcf\x80'

关于python - str.encode 期望输入什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27737579/

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