如何转换字符串文字格式的unicode字符串

时间:2016-12-09 14:45:33

标签: python string unicode

我正在学习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字符串,所有答案都将不胜感激。

1 个答案:

答案 0 :(得分:0)

我想知道你是如何得到str1的,这可能是操纵不当的结果。以下适用于我

>>> str1 = u'Asus,\xe9\xa3\x9e\xe9\xa9\xac'
>>> str1.encode('iso8859-1')
'Asus,\xe9\xa3\x9e\xe9\xa9\xac'