UnicodeEncodeError:“ ascii”编解码器无法对位置0-5处的字符进行编码:序数不在range(128)中

UnicodeEncodeError:“ ascii”编解码器无法对位置0-5处的字符进行编码:序数不在range(128)中,第1张

UnicodeEncodeError:“ ascii”编解码器无法对位置0-5处的字符进行编码:序数不在range(128)中

Python试图提供帮助。您 无法解码 Unipre数据,因为它已经被解码。因此,Python首先将对数据 进行编码
(使用ASCII编解码器)以获取要解码的字节。正是这种隐式编码失败。

如果您具有Unipre数据,则仅将其 编码 为UTF-8是有意义的,而不能解码:

>>> print u'u041eu043bu044cu0433u0430'Ольга>>> u'u041eu043bu044cu0433u0430'.enpre('utf8')'xd0x9exd0xbbxd1x8cxd0xb3xd0xb0'

如果需要Unipre值,则只需使用Unipre文字(

u'...'
)。无需进一步解码。

相同的隐式转换发生在另一个方向。如果您尝试对字节串进行编码,则会触发隐式解码:

>>> u'u041eu043bu044cu0433u0430'.enpre('utf8').enpre('utf8')Traceback (most recent call last):  File "<stdin>", line 1, in <module>UnipreDepreError: 'ascii' prec can't depre byte 0xd0 in position 0: ordinal not in range(128)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5652831.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存