如果我使用序号与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')
ಀಁಂಃ಄ಅಆಇಈಉಊಋಌಎಏಐಒಓಔಕಖಗಘಙಚಛಜಝಞಟಠಡಢಣತಥದಧನಪಫಬಭಮಯರಱಲಳವಶಷಸಹ಼ಽಾಿೀುೂೃೄೆೇೈೊೋೌ್ೕೖೝೞೠೡೢೣ೦೧೨೩೪೫೬೭೮೯ೱೲೳ
但是空字符仍然存在。有没有办法过滤这些字符?
答案 0 :(得分:2)
>>> import unicodedata
>>> unicodedata.category(unichr(0x08C0))
'Cn'
Cn是尚未分配给任何字符的代码点返回的类别。 (但是,不能保证它不会在未来的Unicode版本中被分配。)