我得到了这个字符串'Velcro Back Rest \xa36.99'
。注意前面没有u
。它只是简单的ascii。
如何将其转换为unicode?
我试过了
>>> unicode('Velcro Back Rest \xa36.99')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'ascii' codec can't decode byte 0xa3 in position 17: ordinal not in range(128)
This answer好好解释一下。但我有same question作为这个问题的操作。在对这句话的回答中,温斯顿says "You should not encoding a string object ..."
但我正在使用的框架要求它应该转换为unicode字符串。我用的是刮胡,我有这条线。
loader.add_value('name', product_name)
这里product_name
包含有问题的字符串,它抛出错误。
您需要指定一种编码,以将字节解码为Unicode:
在这种情况下,我能够根据经验猜测编码,您需要为遇到的每个编码提供正确的编解码器。对于web数据,它通常包含在内容类型头的from中:
例如,
iso-8859-1
是拉丁语1编码的官方标准名称。Python将latin1
识别为iso-8859-1
的别名。请注意,您的输入数据是而不是纯ASCII。如果是的话,它只使用0到127之间的字节;
\xa3
是163十进制,所以超出了ASCII范围。相关问题 更多 >
编程相关推荐