如何在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碼,所以直接輸出了原字符。
