[Python] 淺談字元碼位 (Code Point) 及相關函式
字元碼位?就是每個字元的編碼位置,可以想成是每個字元的身分證,只要知道那個字元,就能知道它的碼位;反之亦然。
雖然目前有這麼多種編碼,而每種編碼中的碼位都不同,我們應該每種都學嗎?幸運的是 Python 3 把字串跟 Unicode 做了整合,所以我們接下來所談的部分會專注於 Unicode 這個編碼上。
然後我們可以把這個碼位丟進 chr() 函式獲取該碼位的字元:
雖然目前有這麼多種編碼,而每種編碼中的碼位都不同,我們應該每種都學嗎?幸運的是 Python 3 把字串跟 Unicode 做了整合,所以我們接下來所談的部分會專注於 Unicode 這個編碼上。
- ord() 與 chr()
print(ord('1'))
# 49
print(ord('N'))
# 78
print(ord('你'))
# 20320
然後我們可以把這個碼位丟進 chr() 函式獲取該碼位的字元:
print(chr(49))
# '1'
print(chr(78))
# 'N'
print(chr(20320))
# '你'
請配著上面的範例食用(?)- 轉義-使用碼位
- \ _ _ _:以8進位的碼位來表示字元,最多3位數
- \x_ _:以16進位的碼位來表示字元,基本上2位數
- \u_ _ _ _:以16位元的16進位數值代表碼位
- \U_ _ _ _ _ _ _ _:同上,只是這是32位元的數值
print('\116') # 116(8) == 78(10)
# N
print('\x31') # 31(16) == 49(10)
# 1
print('\u4F60') # 4F60(16) == 20320(10)
# '你'
print('\U00004F60')
# '你'
留言
張貼留言