【Python秘籍】ASCII码与字符的转换

如何在python中显示ASCII码呢?其实你只需要记住两个函数即可:ord()和 chr(),这两个函数都是python内置的函数,不需要引入任何的包,直接就可以使用。

一、显示ASCII码

显示ASCII码直接用ord函数即可,代码如下:

x = 'A'
print(ord(x))
print(ord('B'))

显示结果如下:

65
66

这里的ord函数就是直接显示x变量的ASCII码,x变量必须是字符类型的,而且可以直接在ord函数里加上字符。

如果你在你的python的集成环境里输入过ascii这个几个字,你会发现其实ascii也是一个函数,然后你可能会理所当然的认为这个函数也是求ASCII码的,然后你可能会试着写下面这样的代码:

print(ascii(x))

但是你会神奇的发现,输出的还是原来的字符,并没有输出A的ASCII码,这是为什么呢?我们下面再讨论,到目前我想让你知道的是,ascii这个函数并不是求ASCII码的。

二、将ASCII码转换成字符

聪明的你一定知道用的就是本文开头提到的chr函数,写出下面这样的代码应该没有难度:

x = 'A'
y = ord(x)
print(chr(y))

输出的当然还是A

三、什么是ascii()函数?

在这儿我解释下为什么刚刚我们用ascii这个函数求不出来ASCII码,是因为这个函数并不是求ASCII码的,而是用来判断你传给他的参数是不是在ASCII码表中的。换句话来说,它是用来判断你所传给它的东西能否转换成ascii码,如果能转换,便会输出原字符,如果不能便会采用一种特殊的编码形式来输出编码后的结果。

第一部分中的A是可以转换成ASCII码的,所以直接输出原字符,但是如果你写成下面这样:

print(ascii("几维wk"))

你会得到下面的结果:

'\u51e0\u7ef4wk'

前半部分看似乱七八糟的东西就是一种特殊的编码形式,源于中文没有对应的ASCII码,而wk是英文字符,有对应的ASCII码,所以直接输出了原字符。

上一篇:快速启动软件之 Rolan ,你真的会用?


下一篇:vue深度监控数据改变,缓存数据到本地