浅谈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正则表达式修复网站文章字体不统一的解决方法
Feb 21 Python
Python中endswith()函数的基本使用
Apr 07 Python
基于python时间处理方法(详解)
Aug 14 Python
Python实现数据可视化看如何监控你的爬虫状态【推荐】
Aug 10 Python
使用Python调取任意数字资产钱包余额功能
Aug 15 Python
python中matplotlib条件背景颜色的实现
Sep 02 Python
Python pandas RFM模型应用实例详解
Nov 20 Python
python将字典内容写入json文件的实例代码
Aug 12 Python
python如何实现DES加密
Sep 21 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
Sep 23 Python
Python内置函数及功能简介汇总
Oct 13 Python
python神经网络学习 使用Keras进行简单分类
May 04 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
php简单的留言板与回复功能具体实现
2014/02/19 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
2015/10/21 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
javascript中全局对象的isNaN()方法使用介绍
2013/12/19 Javascript
jquery.post用法之type设置问题
2014/02/24 Javascript
JavaScript中实现单体模式分享
2015/01/29 Javascript
js实现时间显示几天前、几小时前或者几分钟前的方法集锦
2015/05/29 Javascript
Jquery幻灯片特效代码分享--打开页面随机选择切换方式(3)
2015/08/15 Javascript
js实现的二级横向菜单条实例
2015/08/22 Javascript
js传值后台中文出现乱码的解决方法
2016/06/30 Javascript
JS访问DOM节点方法详解
2016/11/29 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
Bootstrap CSS组件之按钮下拉菜单
2016/12/17 Javascript
Vue实例中生命周期created和mounted的区别详解
2017/08/25 Javascript
微信小程序仿RadioGroup改变样式的处理方案
2018/07/13 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
[05:04]DOTA2上海特级锦标赛主赛事第二日TOP10
2016/03/04 DOTA
python中的一些类型转换函数小结
2013/02/10 Python
让 python 命令行也可以自动补全
2014/11/30 Python
python虚拟环境的安装配置图文教程
2017/10/20 Python
pygame游戏之旅 如何制作游戏障碍
2018/11/20 Python
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
python调用matlab的m自定义函数方法
2019/02/18 Python
python爬虫scrapy图书分类实例讲解
2020/11/23 Python
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
企业门卫岗位职责
2013/12/12 职场文书
检讨书模板大全
2015/05/07 职场文书
教师节感想
2015/08/11 职场文书
世界文化遗产导游词
2019/08/07 职场文书
MySQL 分页查询的优化技巧
2021/05/12 MySQL
PyTorch 实现L2正则化以及Dropout的操作
2021/05/27 Python