在下面的代码中,Python 似乎不支持阿拉伯字母。有任何想法吗?
#!/usr/bin/python
# -*- coding: utf-8 -*-
import nltk
sentence = "ورود ممنوع"
tokens = nltk.word_tokenize(sentence)
print tokens
结果是:
>>>
['\xd9\x88\xd8\xb1\xd9\x88\xd8\xaf', '\xd9\x85\xd9\x85\xd9\x86\xd9\x88\xd8\xb9']
>>>
我也尝试添加u
在字符串之前,但没有帮助:
>>> u"ورود ممنوع">>>
['\xd9\x88\xd8\xb1\xd9\x88\xd8\xaf', '\xd9\x85\xd9\x85\xd9\x86\xd9\x88\xd8\xb9']
您在包含字节字符串的列表中得到了正确的结果:
>>> lst = ['\xd9\x88\xd8\xb1\xd9\x88\xd8\xaf',
'\xd9\x85\xd9\x85\xd9\x86\xd9\x88\xd8\xb9']
>>> for l in lst:
... print l
...
ورود
ممنوع
要将其转换为 unicode,您可以使用列表理解:
>>> lst = [e.decode('utf-8') for e in lst]
>>> lst
[u'\u0648\u0631\u0648\u062f', u'\u0645\u0645\u0646\u0648\u0639']
在列表中打印 Unicode 字符 https://stackoverflow.com/questions/20947173/printing-unicode-char-inside-a-list/20948167#20948167
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)