浅谈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 相关文章推荐
python3中str(字符串)的使用教程
Mar 23 Python
linux环境下python中MySQLdb模块的安装方法
Jun 16 Python
简单了解OpenCV是个什么东西
Nov 10 Python
python基础教程项目五之虚拟茶话会
Apr 02 Python
基于python实现简单日历
Jul 28 Python
python 实现分页显示从es中获取的数据方法
Dec 26 Python
python 搭建简单的http server,可直接post文件的实例
Jan 03 Python
Python Django框架防御CSRF攻击的方法分析
Oct 18 Python
Pytorch中index_select() 函数的实现理解
Nov 19 Python
python生成任意频率正弦波方式
Feb 25 Python
python中用ggplot绘制画图实例讲解
Jan 26 Python
PyCharm常用配置和常用插件(小结)
Feb 06 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
cmd下运行php脚本
2008/11/25 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
PHP时间和日期函数详解
2015/05/08 PHP
解决Laravel无法使用COOKIE和SESSION的问题
2019/10/16 PHP
js读写(删除)Cookie实例详解
2013/04/17 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
浅析XMLHttpRequest的缓存问题
2013/12/13 Javascript
探讨JavaScript中的Rest参数和参数默认值
2015/07/29 Javascript
jQuery Mobile页面返回不需要重新get
2016/04/26 Javascript
jQuery给div,Span, a ,button, radio 赋值与取值
2016/06/24 Javascript
jQuery EasyUI右键菜单实现关闭标签/选项卡
2016/10/10 Javascript
第一次接触Bootstrap框架
2016/10/24 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
2017/06/17 Javascript
React styled-components设置组件属性的方法
2018/08/07 Javascript
jquery+ajax实现上传图片并显示上传进度功能【附php后台接收】
2019/06/06 jQuery
vue实现在线学生录入系统
2020/05/30 Javascript
Openlayers学习之地图比例尺控件
2020/09/28 Javascript
详解Vue数据驱动原理
2020/11/17 Javascript
Python+tkinter使用80行代码实现一个计算器实例
2018/01/16 Python
Django 实现admin后台显示图片缩略图的例子
2019/07/28 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
python 引用传递和值传递详解(实参,形参)
2020/06/05 Python
Python Selenium模块安装使用教程详解
2020/07/09 Python
python代码实现猜拳小游戏
2020/11/30 Python
html5版canvas自由拼图实例
2014/10/15 HTML / CSS
用canvas画心电图的示例代码
2018/09/10 HTML / CSS
大女孩胸罩:Big Girls Bras
2016/12/15 全球购物
Roxy俄罗斯官方网站:冲浪和滑雪板的一切
2020/06/20 全球购物
如何转换一个字符串到enum值
2014/04/12 面试题
财务管理个人自荐书范文
2013/11/24 职场文书
高三英语教学反思
2014/01/13 职场文书
领导干部作风整顿剖析材料
2014/10/11 职场文书
铁路安全反思材料
2014/12/24 职场文书
2015年村计划生育工作总结
2015/04/28 职场文书
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记