python代码实现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码转换的全部代码,源代码想要的可联系博主,感谢你的阅读!

程序效果图
在这里插入图片描述

程序运行结果:

程序运行结果

发布了6 篇原创文章 · 获赞 5 · 访问量 303

猜你喜欢

转载自blog.csdn.net/qq_45172832/article/details/104103133