您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了Python3如何實現內置函數chr和ord進制轉換,內容簡而易懂,希望大家可以學習一下,學習完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。
python的內置函數中,有一對函數:chr 和 ord,有著相反的功能。
1. chr(x):用一個數值作參數,返回一個對應的unicode字符,該參數的有效范圍是從0到1114111(16進制時為0x10FFFF),參數可以是十進制,也可以是十六進制。
print(chr(105)) # ---> i print(chr(0x9980)) # ---> 漢字:馀 print(chr(0x0030)) # ---> 0 print(chr(8364)) # ---> ? print(chr(127137)) # ---> 撲克:A print(chr(44032)) # ---> 韓語:가 print(chr(126976)) # --->麻將:東
2. ord(x):chr(x)的反向函數,通過一個Unicode字符,返回其對應的數值。
print(ord('0')) # ---> 48(十進制):其十六進制為 0x0030 print(ord('i')) # ---> 105(十進制)
3. 其中,進制轉換,主要有以下幾種方式:
十六進制、二進制、八進制轉十進制,注意:二進制表示中每一位只能是0或1表示,八進制中每一位只能在0-7之間,同理十六進制中的每一位在0-f之間,超出范圍會報錯。
print(int('10',2)) #二進制轉十進制,int('20',2) 會報錯
print(int('30',8)) #八進制轉十進制,int('80',8) 會報錯
print(int('f0',16)) #十六進制轉十進制,int('g0',16) 會報錯# 下面的方式也可
print(int('0b10',2)) #二進制轉十進制
print(int('0o30',8)) #八進制轉十進制
print(int('0xf0',16)) #十六進制轉十進制
十進制轉二進制、八進制、十六進制,內置函數bin、oct、hex得到的進制前面會分別帶有'0b','0o','0x'字符。
print(bin(15)) # 十進制轉二進制
print(oct(15)) # 十進制轉八進制
print(hex(482)) # 十進制轉十六進制
或者
print(format(482,"x")) # 十進制轉十六進制
print(format(15,"o")) # 十進制轉八進制
print(format(15,"b")) # 十進制轉二進制
4. format進制轉換,b,o,d,x 分別表示 二進制、八進制、十進制、十六進制
十六進制轉二進制、八進制、十進制
# format進制轉換 print('{:b}'.format(0xef)) #十六進制轉二進制:11101111 print('{:o}'.format(0xef)) #十六進制轉八進制:357 print('{:d}'.format(0xef)) #十六進制轉十進制:239 #格式化中加'#'表示加入標識 print('{:#b}'.format(0xef)) #十六進制轉二進制:0b11101111,加標識 0b print('{:#o}'.format(0xef)) #十六進制轉八進制:0o357,加標識 0o print('{:#d}'.format(0xef)) #十六進制轉十進制:239,十進制不變
八進制、十進制轉二進制
print('{:b}'.format(0o357)) #八進制轉二進制:11101111
print('{:b}'.format(239)) #十進制轉二進制:11101111
print('{:#b}'.format(0o357)) #八進制轉二進制:0b11101111,加標識 0b
print('{:#b}'.format(239)) #十進制轉二進制:0b11101111,加標識 0b
十進制、八進制、二進制轉十六進制
# print('{:x}'.format(239)) #十進制轉十六進制:ef print('{:x}'.format(0b11101111)) #二進制轉十六進制:ef print('{:x}'.format(0o357)) #八進制轉十六進制:ef # print('{:#x}'.format(239)) #十進制轉十六進制:0xef,加標識 0x print('{:#x}'.format(0b11101111)) #二進制轉十六進制:0xef,加標識 0x print('{:#x}'.format(0o357)) #八進制轉十六進制:0xef,加標識 0x
八進制以 '0o開頭',二進制以 '0b' 開頭,十六進制以 '0x' 開頭。
注:
正好了解一下unicode字符集,Unicode(統一碼、萬國碼、單一碼)是計算機科學領域里的一項業界標準,包括字符集、編碼方案等,是可以容納世界上所有文字和符號的字符編碼方案,比ASCII碼能表示的范圍大得多。
其中包括的種類可以自行搜索,每個種類在各自的區間范圍內,有趣的字符很多,參考知乎大佬的操作,可以發現:
以上就是關于Python3如何實現內置函數chr和ord進制轉換的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。