浅谈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 29 Python
利用Python将时间或时间间隔转为ISO 8601格式方法示例
Sep 05 Python
Python request设置HTTPS代理代码解析
Feb 12 Python
Python对ElasticSearch获取数据及操作
Apr 24 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
Apr 29 Python
python 模拟贷款卡号生成规则过程解析
Aug 30 Python
python科学计算之narray对象用法
Nov 25 Python
tensorflow 重置/清除计算图的实现
Jan 19 Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
Jun 23 Python
解决keras使用cov1D函数的输入问题
Jun 29 Python
python 生成器需注意的小问题
Sep 29 Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 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 socket(fsockopen)的应用实例分析
2013/06/02 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
详解Laravel5.6 Passport实现Api接口认证
2018/07/27 PHP
js计数器代码
2006/11/04 Javascript
JQuery 获得绝对,相对位置的坐标方法
2010/02/09 Javascript
javascript replace()正则替换实现代码
2010/02/26 Javascript
idTabs基于JQuery的根据URL参数选择Tab插件
2012/04/11 Javascript
将nodejs打包工具整合到鼠标右键的方法
2013/05/11 NodeJs
nodejs URL模块操作URL相关方法介绍
2015/03/03 NodeJs
JavaScript 匿名函数和闭包介绍
2015/04/13 Javascript
js倒计时简单实现方法
2015/12/17 Javascript
jQuery配合coin-slider插件制作幻灯片效果的流程解析
2016/05/13 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
vue动态路由实现多级嵌套面包屑的思路与方法
2017/08/16 Javascript
Vue组件选项props实例详解
2017/08/18 Javascript
解决vue-router中的query动态传参问题
2018/03/20 Javascript
vue中使用mxgraph的方法实例代码详解
2019/05/17 Javascript
jquery轮播图插件使用方法详解
2020/07/31 jQuery
Javascript实现贪吃蛇小游戏(含详细注释)
2020/10/23 Javascript
[46:43]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第二局
2016/03/02 DOTA
python模拟登录百度代码分享(获取百度贴吧等级)
2013/12/27 Python
python计算书页码的统计数字问题实例
2014/09/26 Python
两个元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函数将其转变成[{'a': 'c'},{'b': 'd'}]的几种方法
2019/03/05 Python
python3利用Socket实现通信的方法示例
2019/05/06 Python
使用PYTHON解析Wireshark的PCAP文件方法
2019/07/23 Python
详解Django-channels 实现WebSocket实例
2019/08/22 Python
Django models filter筛选条件详解
2020/03/16 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
详解使用python爬取抖音app视频(appium可以操控手机)
2021/01/26 Python
奢华时尚的独特视角:La Garçonne
2018/06/07 全球购物
Stührling手表官方网站:男女高品质时尚手表的领先零售商
2021/01/07 全球购物
房地产员工找工作的自我评价
2013/11/15 职场文书
财务会计专业个人求职信范本
2014/01/08 职场文书
文艺晚会主持词
2014/03/24 职场文书
计算机毕业大学生求职信
2014/06/26 职场文书
2014酒店客房部工作总结
2014/12/16 职场文书