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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python多线程与多进程及其区别详解

    python多线程与多进程及其区别详解

    这篇文章主要介绍了python多线程与多进程及其区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python如何绘制日历图和热力图

    Python如何绘制日历图和热力图

    这篇文章主要介绍了Python如何绘制日历图和热力图,帮助大家更好的理解和学习Python,感兴趣的朋友可以了解下
    2020-08-08
  • python OpenCV 图像通道数判断

    python OpenCV 图像通道数判断

    这篇文章主要介绍了python OpenCV 图像通道数判断,文章基于Python的相关内容展开对文章主题的详细介绍,需要的小伙伴可以参考一下
    2022-04-04
  • Python OpenCV视频截取并保存实现代码

    Python OpenCV视频截取并保存实现代码

    这篇文章主要介绍了Python OpenCV视频截取并保存实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 使用Python在Word中查找并高亮指定文本

    使用Python在Word中查找并高亮指定文本

    当你需要在长文档或报告中快速找到特定的关键词或短语,Word中提供的查找并高亮这一功能可以帮助你迅速定位这些内容,本文将介绍如何使用Python在Word中查找并突出显示指定的文本,需要的朋友可以参考下
    2024-03-03
  • python安装/卸载模块方法步骤详解(附详细图解)

    python安装/卸载模块方法步骤详解(附详细图解)

    在日常工作中会需要安装或者卸载Python模块.于是我整理了一下,下面这篇文章主要给大家介绍了关于python安装/卸载模块的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • python使用paramiko执行服务器脚本并拿到实时结果

    python使用paramiko执行服务器脚本并拿到实时结果

    这篇文章主要介绍了python使用paramiko执行服务器脚本并拿到实时结果,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Python图像运算之顶帽运算和底帽运算详解

    Python图像运算之顶帽运算和底帽运算详解

    数学形态学是应用于图像处理和模式识别领域的新方法。数学形态学表示以形态为基础对图像进行分析的数学工具,基本思想是用具有一定形态的结构元素去量度和提取图像中对应形状以达到对图像分析和识别的目的。本文将为大家介绍顶帽运算和底帽运算,需要的可以参考一下
    2022-07-07
  • 浅谈Python数学建模之数据导入

    浅谈Python数学建模之数据导入

    数据导入是所有数模编程的第一步,比你想象的更重要。Python 语言中数据导入的方法很多。对于数学建模问题编程来说,选择什么方法最好呢?答案是:没有最好的,只有最合适的。对于不同的问题,不同的算法,以及所调用工具包的不同实现方法,对于数据就会有不同的要求
    2021-06-06
  • python代理工具mitmproxy使用指南

    python代理工具mitmproxy使用指南

    这篇文章主要介绍了python mitmproxy 使用指南,mitmproxy 可以用来拦截、修改、保存 HTTP/HTTPS 请求。以命令行终端形式呈现,类似于 Chrome 浏览器开发者模式的可视化工具,需要的朋友可以参考下
    2019-07-07

最新评论