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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM