![](https://i-blog.csdnimg.cn/blog_migrate/9af364d038805b8ea1bf4894954f3ba6.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/259b345c3ecdfc6514d26e4033f8acf6.gif)
ASCII码转换
python代码实现ASCII码转换
自己刚开始学习python不久,想试着使用自己学习的知识进行一个简单的练习,但由于自己对python不熟悉,造成自己走了很多弯路,比如自己想到去判断输入的字符然后一个一个匹配,但是这样过于麻烦,Python中有函数可以进行转换 ord() //函数
使用odr函数可以实现字符直接转换成十进制数字,进而得到二进制等!
程序如下:
#ASCCII字母库
all_ASCCII = '''
! \" $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 :
; < > = ? @ A B C D E F G H I G K L M N O P Q R S
T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l
m n o p q r s t u v w x y z { | } ~ #
'''
#首先打印数ASCCII码表
print("ASCII表:")
print("--------------------------------------------------------------------------------")
print("'''")
print(all_ASCCII)
print("'''")
print("--------------------------------------------------------------------------------")
i = 0 #用于判断是第几次输入
while 1:
#此段程序用于判断是否为第一次输入,便于进行不同的相应
if i == 0:
str1 = input("Please input a ASCCII:\n"
if i != 0:
str1 = input("Please input other ASCCII:\n")
#绘制出需要打印信息的表头
outside_head = " 名称 二进制 十进制 "
outside_head =outside_head.center(30,"*")
#判断自己输入的字符串是否在ASCCII库中
if not(str1 in all_ASCCII):
print("error:Your input ASCCII is out\n")
if str1 in all_ASCCII:
print("-------------------------------------------------------")
print(outside_head)#首先输出表头
#判断读者输入的字符是对应的那个字符串,便于进行相应的相应
num_10 = ord(str1) #将输入的字符串转换成一个十进制的数
num_2 = bin(num_10) #十进制转二进制,由于bin函数前面带有0b所以用以下代码消去
a = len(num_2) #首先算出num_2的长度
b = str(num_2) #将二进制数转换成字符串
c = num_2.strip("0b").zfill(8) #去除字符串中的"0b"字符,并在前面补0
num_2 = c #将转换成功的二进制数字重新传给num_2
str2 = "****** "+str1 + " "+ num_2 +" "+"%d"%(num_10)+" "
print(str2)
print("-------------------------------------------------------")
i = i + 1
print(" ")
注意:代码在复制过程中可能出现代码格式错误,读者可自行修改
以上是本次ASCII码转换的全部代码,源代码想要的可联系博主,感谢你的阅读!
程序效果图
程序运行结果:
**文章导航:**
想要学习python的同学欢迎大家关注微信公众号【嵌入式悦翔园】,本公众号专注于嵌入式技术,包括但不限于STM32、Arduino、51单片机、物联
网、Linux等编程学习笔记,同时,公众号内包含大量的学习资源。欢迎关注,一同交流学习,共同进步!
另外回复 “资源” 可以获得全部的嵌入式资源;回复 ”加群“ 即可加入百人交流群,期待大家的关注!