我正在学习python(2.7)scrapy。 我尝试读取一个utf-16-le编码的文件,该文件的每一行都是unicode字符串,但它包含ascii字符。
str1 = u'Asus,\xe9\xa3\x9e\xe9\xa9\xac'
print type(str1), str1
# print 'decoding', str1.decode('utf-8') # it throws UnicodeEncodeError
str2 = 'Asus,\xe9\xa3\x9e\xe9\xa9\xac'
print type(str2), str2
print 'decoding', str2.decode('utf-8')
控制台的输出是:
<type 'unicode'> Asus,é£é©¬
<type 'str'> Asus,飞马
decoding Asus,飞马
如何将str1转换为'华硕,飞马'喜欢的unicode字符串,所有答案都将不胜感激。
答案 0 :(得分:0)
我想知道你是如何得到str1的,这可能是操纵不当的结果。以下适用于我
>>> str1 = u'Asus,\xe9\xa3\x9e\xe9\xa9\xac'
>>> str1.encode('iso8859-1')
'Asus,\xe9\xa3\x9e\xe9\xa9\xac'