|
发表于 2018-9-18 18:36:21
|
显示全部楼层
尝试首先将unicode字符串编码为ascii:
unicodeData.encode('ascii', 'ignore')
'ignore'部分会告诉它只是跳过那些字符。从python文档:
>>> u = unichr(40960) + u'abcd' + unichr(1972)
>>> u.encode('utf-8')
'\xea\x80\x80abcd\xde\xb4'
>>> u.encode('ascii')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
UnicodeEncodeError: 'ascii' codec can't encode character '\ua000' in position 0: ordinal not in range(128)
>>> u.encode('ascii', 'ignore')
'abcd'
>>> u.encode('ascii', 'replace')
'?abcd?'
>>> u.encode('ascii', 'xmlcharrefreplace')
'ꀀabcd޴'
您可能想阅读这篇文章:http://www.joelonsoftware.com/articles/Unicode.html,我发现它非常有用,作为正在进行的基础教程。读完之后,你会觉得你只是猜测要使用什么命令(或者至少发生在我身上)。
|
|