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

 更新时间:2016年06月16日 16:22:45   作者:mattkang  
chr、unichr、ord在Python中都可以被用作字符类型转换,这里我们就来浅谈Python中chr、unichr、ord字符函数之间的对比,需要的朋友可以参考下
  • 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的Bottle框架中实现最基本的get和post的方法的教程

    Python的Bottle框架中实现最基本的get和post的方法的教程

    这篇文章主要介绍了Python的Bottle框架中实现最基本的get和post的方法的教程,Bottle框架在Python开发者中的人气很高,需要的朋友可以参考下
    2015-04-04
  • Python文件处理

    Python文件处理

    这篇文章主要介绍了Python文件处理的相关资料,需要的朋友可以参考下
    2016-02-02
  • 3段Python图像处理的实用代码的分享

    3段Python图像处理的实用代码的分享

    这篇文章主要介绍了3段Python图像处理的实用代码的分享,计算机视觉方向的Python实用代码,用到多种库具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • 详解centos7+django+python3+mysql+阿里云部署项目全流程

    详解centos7+django+python3+mysql+阿里云部署项目全流程

    这篇文章主要介绍了详解centos7+django+python3+mysql+阿里云部署项目全流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Python多线程实现支付模拟请求过程解析

    Python多线程实现支付模拟请求过程解析

    这篇文章主要介绍了python多线程实现支付模拟请求过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Django视图和URL配置详解

    Django视图和URL配置详解

    这篇文章主要介绍了Django视图和URL配置详解,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 基于python select.select模块通信的实例讲解

    基于python select.select模块通信的实例讲解

    下面小编就为大家带来一篇基于python select.select模块通信的实例讲解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Django框架中数据的连锁查询和限制返回数据的方法

    Django框架中数据的连锁查询和限制返回数据的方法

    这篇文章主要介绍了Django框架中数据的连锁查询和限制返回数据的方法,Django是Python重多高人气框架中最为著名的一个,需要的朋友可以参考下
    2015-07-07
  • Python 描述符(Descriptor)入门

    Python 描述符(Descriptor)入门

    本文给大家介绍的是Python中比较重要的一个知识点--描述符(Descriptor),描述符(descriptor)是Python语言核心中困扰我时间最长的一个特性,但是一旦你理解了之后,描述符的确还是有它的应用价值的。
    2016-11-11
  • Python如何将bmp格式的图片批量转成jpg

    Python如何将bmp格式的图片批量转成jpg

    这篇文章主要介绍了Python如何将bmp格式的图片批量转成jpg问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03

最新评论