有没有办法检查序数位置是否包含一个字符或是空的?

时间:2015-06-12 14:57:43

标签: string python-2.7 unicode

如果我使用序号与unichr(orninal)打印字符并且序号位置不包含任何有效字符,则结果如下:

>>> print unichr(0x0c80)
ಀ

现在我想从字符串中过滤掉这样的空字符,并尝试str.encode('utf-8', errors='ignore')作为:

>>> print ''.join([unichr(i) for i in range(0x0c80, 0x0cff)]).encode('utf-8', errors='ignore')
ಀಁಂಃ಄ಅಆಇಈಉಊಋಌ಍ಎಏಐ಑ಒಓಔಕಖಗಘಙಚಛಜಝಞಟಠಡಢಣತಥದಧನ಩ಪಫಬಭಮಯರಱಲಳ಴ವಶಷಸಹ಺಻಼ಽಾಿೀುೂೃೄ೅ೆೇೈ೉ೊೋೌ್೎೏೐೑೒೓೔ೕೖ೗೘೙೚೛೜ೝೞ೟ೠೡೢೣ೤೥೦೧೨೩೪೫೬೭೮೯೰ೱೲೳ೴೵೶೷೸೹೺೻೼೽೾

但是空字符仍然存在。有没有办法过滤这些字符?

1 个答案:

答案 0 :(得分:2)

>>> import unicodedata
>>> unicodedata.category(unichr(0x08C0))
'Cn'

Cn是尚未分配给任何字符的代码点返回的类别。 (但是,不能保证它不会在未来的Unicode版本中被分配。)