Python处理unicode字符的方法详解

 更新时间:2023年08月11日 09:45:10   作者:微小冷  
这篇文章主要介绍了Python处理unicode字符的方法详解,unicodedata中定义了所有Unicode字符的字符属性,主要包含两个功能,其一是根据名字查找字符;其二是给定字符查找其对应的信息,需要的朋友可以参考下

编码与查找

unicodedata 中定义了所有 Unicode 字符的字符属性,主要包含两个功能,其一是根据名字查找字符;其二是给定字符查找其对应的信息。

前者有一个函数

  • lookup(name) 通过 name 查找字符并返回。

后者由四个函数,形参均为 chr[, default] ,其中 char 未待查找字符, default 为找到的字符未定义输出值时的默认输出

函数返回值
namechr的字符串名称
decimal转为数值
digit转为整数
numeric转为浮点数

上面这些函数,如果没找到,则报 ValueError 错误,示例如下

>>> unicodedata.name('1')
'DIGIT ONE'
>>> unicodedata.decimal('1')
1
>>> unicodedata.digit('1')
1
>>> unicodedata.numeric('1')
1.0

分类

unicode 字符总共分为下面这些类别,通过调用 category(chr) 可以查看字符 chr 所属的unicode分类。

unicode 收集了几乎人类历史上出现的所有符号,所以字符数目相当多。其中,汉字属于 Lo 。

标志含义解释字符数举例
LlLetter, Lowercase小写字母2233
LuLetter, Uppercase大写字母1831
LmLetter, Modifier修饰字母397
LtLetter, Titlecase标题字母31
LCLetter, Cased0
LoLetter, Other其他字母17273
McMark, Spacing Combining452
MeMark, Enclosing封闭标记13
MnMark, Nonspacing非空格标记1985
NdNumber, Decimal Digit十进制数字6800
NlNumber, Letter数字字母236
NoNumber, Other其他数字915¼
PcPunctuation, Connector连接符10
PdPunctuation, Dash破折号26
PsPunctuation, Open左括号79
PePunctuation, Close右括号77
PfPunctuation, Final quote右引号10
PiPunctuation, Initial quote左引号12
PoPunctuation, Other其他标点628
ScSymbol, Currency货币符号63$
SkSymbol, Modifier修饰符125
SmSymbol, Math数学符号948
SoSymbol, Other其他符号6634֎
ZlSeparator, Line换行符1U+2028
ZpSeparator, Paragraph分段符1U+2029
ZsSeparator, Space空格17
CcOther, Control控制字符65
CfOther, Format格式字符170
CnOther, Not Assigned0
CoOther, Private Use6
CsOther, Surrogate6

下面实践一下

>>> unicodedata.category('A')
'Lu'
>>> unicodedata.category('a')
'Ll'
>>> unicodedata.category('啊')
'Lo'
>>> unicodedata.category('∭')
'Sm'

文字方向

由于不同文字的书写顺序是不同的,所以字符的应用场景会受到文字的影响。有一些字符具有较强的方向感,比如英语字母从左向右,而阿拉伯字母则是从右向左的。

bidirectional 可以查询字符文字的方向,

>>> unicodedata.bidirectional('>')
'ON'
>>> unicodedata.bidirectional('\u06A0')
'AL'
>>> unicodedata.bidirectional('啊')
'L'
类型标志说明
L从左向右
R从右向左
AL阿拉伯式从右向左
EN欧洲数字
ES欧洲数字分隔符
ET欧洲数字终结符
AN阿拉伯数字
CS数字分隔符
MSN非空标记
BN边界符号
中立B段落分隔符
中立S制表符
中立WS空格
中立ON其他中立字符
显式LRELeft-to-Right Embedding
显式LROLeft-to-Right Override
显式RLERight-to-Left Embedding
显式RLORight-to-Left Override
显式PDFPop Directional Format
显式LRILeft-to-Right Isolate
显式RLIRight-to-Left Isolate
显式FSIFirst Strong Isolate
显式PDIPop Directional Isolate

到此这篇关于Python处理unicode字符的方法详解的文章就介绍到这了,更多相关Python处理unicode内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PyQt5重写QComboBox的鼠标点击事件方法

    PyQt5重写QComboBox的鼠标点击事件方法

    今天小编就为大家分享一篇PyQt5重写QComboBox的鼠标点击事件方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • Python实现的远程文件自动打包并下载功能示例

    Python实现的远程文件自动打包并下载功能示例

    这篇文章主要介绍了Python实现的远程文件自动打包并下载功能,结合实例形式分析了Python使用spawn()方法执行ssh、scp 命令实现远程文件的相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • OpenCV黑帽运算(BLACKHAT)的使用

    OpenCV黑帽运算(BLACKHAT)的使用

    本文主要介绍了OpenCV黑帽运算(BLACKHAT)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 使用Python实现一个远程壁纸设置系统

    使用Python实现一个远程壁纸设置系统

    今天我要分享一个实用的远程壁纸设置系统,包含一个图形界面的发送端和一个后台运行的服务端,这个系统可以让你轻松地将本地图片设置为远程计算机的桌面壁纸,非常适合办公室环境、家庭网络或需要统一壁纸设置的场景,需要的朋友可以参考下
    2025-12-12
  • 在pycharm上mongodb配置及可视化设置方法

    在pycharm上mongodb配置及可视化设置方法

    今天小编就为大家分享一篇在pycharm上mongodb配置及可视化设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Python操作Excel之xlsx文件

    Python操作Excel之xlsx文件

    前段时间做一个项目,不得不使用Python直接生成Excel文件,后来随着需求的变化,还要对已有的Excel文件进行读取。所以想着记录下来,这篇文章主要给大家介绍了Python操作Excel之xlsx文件的相关资料,需要的朋友可以参考下。
    2017-03-03
  • python传到前端的数据,双引号被转义的问题

    python传到前端的数据,双引号被转义的问题

    这篇文章主要介绍了python传到前端的数据,双引号被转义的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • Python中异常处理及最佳实践举例详解

    Python中异常处理及最佳实践举例详解

    异常处理在任何一门编程语言里都是值得关注的一个话题,良好的异常处理可以让你的程序更加健壮,下面这篇文章主要给大家介绍了关于Python中异常处理及最佳实践的相关资料,需要的朋友可以参考下
    2024-03-03
  • Python捕获异常堆栈信息的几种方法(小结)

    Python捕获异常堆栈信息的几种方法(小结)

    这篇文章主要介绍了Python捕获异常堆栈信息的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Python3字符串学习教程

    Python3字符串学习教程

    这篇文章主要介绍了Python3字符串学习教程,是Python入门学习中的基础知识,需要的朋友可以参考下
    2015-08-08

最新评论