浅谈Python中chr、unichr、ord字符函数之间的对比


Posted in Python onJune 16, 2016
  • ord是unicode ordinal的缩写,即编号
  • chr是character的缩写,即字符
  • ord和chr是互相对应转换的.
  • 但是由于chr局限于ascii,长度只有256,于是又多了个unichr.
>>c = u'康'

>>c
u'\u5eb7'
>>ord(c)
24747
>>chr(24247)
ValueError: chr() arg not in range(256)
>>unichr(24247)
u'\u5eb7'

chr()函数用一个范围在range(256)内的(就是0~255)整数作参数,返回一个对应的字符。unichr()跟它一样,只不过返回的是Unicode字符,这个从Python 2.0才加入的unichr()的参数范围依赖于你的Python是如何被编译的。如果是配置为USC2的Unicode,那么它的允许范围就是range(65536)或0x0000-0xFFFF;如果配置为UCS4,那么这个值应该是range(1114112)或0x000000-0x110000。如果提供的参数不在允许的范围内,则会报一个ValueError的异常。
ord()函数是chr()函数(对于8位的ASCII字符串)或unichr()函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值,或者Unicode数值,如果所给的Unicode字符超出了你的Python定义范围,则会引发一个TypeError的异常。

>>> chr(65)
'A'
>>> ord('a')
97
>>> unichr(12345)
u'\u3039'
>>> chr(12345)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?  
   chr(12345)
ValueError: chr() arg not in range(256)
>>> ord(u'\ufffff')
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
   ord(u'\ufffff')
TypeError: ord() expected a character, but string of length 2 found
>>> ord(u'\u2345')
9029
Python 相关文章推荐
Python中一些自然语言工具的使用的入门教程
Apr 13 Python
在Python的Django框架中simple-todo工具的简单使用
May 30 Python
Python3实现抓取javascript动态生成的html网页功能示例
Aug 22 Python
python 读取目录下csv文件并绘制曲线v111的方法
Jul 06 Python
python监控进程状态,记录重启时间及进程号的实例
Jul 15 Python
微信小程序python用户认证的实现
Jul 29 Python
keras中的卷积层&amp;池化层的用法
May 22 Python
Python偏函数Partial function使用方法实例详解
Jun 17 Python
pytorch 限制GPU使用效率详解(计算效率)
Jun 27 Python
Python 如何创建一个线程池
Jul 28 Python
10行Python代码实现Web自动化管控的示例代码
Aug 14 Python
Jupyter Notebook内使用argparse报错的解决方案
Jun 03 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
Jun 16 #Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
Jun 16 #Python
Python黑魔法@property装饰器的使用技巧解析
Jun 16 #Python
Python实现类似jQuery使用中的链式调用的示例
Jun 16 #Python
浅析Python中else语句块的使用技巧
Jun 16 #Python
python基础教程之分支、循环简单用法
Jun 16 #Python
python3音乐播放器简单实现代码
Apr 20 #Python
You might like
第十四节 命名空间 [14]
2006/10/09 PHP
php知道与问问的采集插件代码
2010/10/12 PHP
php 文件缓存函数
2011/10/08 PHP
PHP使用数组依次替换字符串中匹配项
2016/01/08 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
php使用filter_var函数判断邮箱,url,ip格式示例
2019/07/06 PHP
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
javascript定时保存表单数据的代码
2011/03/17 Javascript
解析Jquery中如何把一段html代码动态写入到DIV中(实例说明)
2013/07/09 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
解决vue页面刷新或者后退参数丢失的问题
2018/03/13 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
2019/10/23 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
python进阶教程之文本文件的读取和写入
2014/08/29 Python
Python解析nginx日志文件
2015/05/11 Python
Python中列表list以及list与数组array的相互转换实现方法
2017/09/22 Python
python简单实例训练(21~30)
2017/11/15 Python
Tesserocr库的正确安装方式
2018/10/19 Python
如何通过python画loss曲线的方法
2019/06/26 Python
Django REST框架创建一个简单的Api实例讲解
2019/11/05 Python
PyQt5实现登录页面
2020/05/30 Python
python logging模块的使用
2020/09/07 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
2021/02/27 Python
巴西最大的体育用品商城:Netshoes巴西
2016/11/29 全球购物
美国睫毛、眉毛精华液领导品牌:RevitaLash Cosmetics
2018/03/26 全球购物
食堂个人先进事迹
2014/01/22 职场文书
幼儿园消防安全制度
2014/01/26 职场文书
挖掘机司机岗位职责
2014/02/12 职场文书
物流专业求职信
2014/06/30 职场文书
永远跟党走演讲稿
2014/09/12 职场文书
一波干货,会议主持词开场白范文
2019/05/06 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript
将图片保存到mysql数据库并展示在前端页面的实现代码
2021/05/02 MySQL
html+css实现赛博朋克风格按钮
2021/05/26 HTML / CSS
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS