gpt4 book ai didi

python - 用python检测unicode专用区字符

转载 作者:太空狗 更新时间:2023-10-30 01:00:46 24 4
gpt4 key购买 nike

在 python 3 中识别 unicode 专用字符的正确方法是什么? unicodedata 模块中没有明显相关的内容,这使得查找字符名称和属性变得容易。

一些背景:unicodedata.name(),它给出了 unicode 字符的名称,如果使用私有(private)字符调用,将引发 ValueError(例如,尝试 unicodedata.name("\uf026")).但是空白字符(除了空格本身)和可能的其他东西也会触发异常。那么,什么是检测 PUA 字符的非 hacky 可靠方法?

最佳答案

私有(private)字符都在Co general category ,由 unicodedata 中的 category() 返回:

>>> import unicodedata
>>> def is_pua(c):
... return unicodedata.category(c) == 'Co'
...
>>> is_pua(u'\uF026')
True

鉴于 Unicode 标准 guarantees私有(private)使用字符集将永远改变(永远不会添加或删除任何字符),硬编码 three ranges 也是安全的:

  • U+E000U+F8FF
  • U+F0000U+FFFFD
  • U+100000U+10FFFD

关于python - 用python检测unicode专用区字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32540152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com