ale*_*xis 5 python unicode python-3.x
在python 3中识别unicode私用字符的正确方法是什么?模块中没有明显的相关性unicodedata,这使得查找字符名称和属性变得容易.
一些背景:unicodedata.name(),它给出了unicode字符的名称,将ValueError使用私有使用字符(例如,try unicodedata.name("\uf026"))调用if .但是空白字符(空间本身除外)以及可能的其他东西也会触发异常.那么检测PUA字符的非hacky,可靠方法是什么?
私人使用的人物都是在Co 普通类,如通过返回category()的unicodedata:
>>> import unicodedata
>>> def is_pua(c):
... return unicodedata.category(c) == 'Co'
...
>>> is_pua(u'\uF026')
True
Run Code Online (Sandbox Code Playgroud)
鉴于Unicode标准保证私有使用字符集永远不会更改(不会添加或删除任何字符),因此对这三个范围进行硬编码也是安全的:
U+E000 至 U+F8FFU+F0000 至 U+FFFFDU+100000 至 U+10FFFD| 归档时间: |
|
| 查看次数: |
486 次 |
| 最近记录: |