我正在处理编码问题。我的输入是一个 unicode 字符串,例如:
>>> s
u'\xa6\xe8\xac\xc9'
实际上它是用cp950编码的。我想解码它:(注意没有“u”)
>>> print unicode('\xa6\xe8\xac\xc9', 'cp950')
西界
但是,我不知道如何摆脱那个“u”。直接转换不起作用:
>>> str(s)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-3: ordinal not in range(128)
使用 encode() 的结果不是我想要的:
>>> s.encode('utf8')
'\xc2\xa6\xc3\xa8\xc2\xac\xc3\x89'
我想要的是'\xa6\xe8\xac\xc9'