
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)欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)