中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python3如何實現內置函數chr和ord進制轉換

發布時間:2020-07-18 14:06:17 來源:億速云 閱讀:168 作者:小豬 欄目:開發技術

這篇文章主要為大家展示了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)) # --->麻將:東

Python3如何實現內置函數chr和ord進制轉換

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碼能表示的范圍大得多。

其中包括的種類可以自行搜索,每個種類在各自的區間范圍內,有趣的字符很多,參考知乎大佬的操作,可以發現:

  • 象形文字
  • 楔形文字
  • 八卦
  • 太極圖案
  • 易經64卦:范圍是[0x4DC0, 0x4DFF],十進制是[19904, 19967],共64個
  • 撲克牌:范圍是[0x1f0a0, 0x1f0df],十進制是[127136, 127199],共64個
  • 麻將:[126976, 127009]是34張正常牌,例如東南西北中發白、筒子等,接下來8張[127010, 127017]屬于春、夏、秋、冬,梅、蘭、竹、菊
  • 小圖標
  • 漢字:常用漢字[19968, 40917],十六進制是[0x4E00, 0x9FD5];還有其他漢字在其他區域
  • 韓文:[44032, 55203]
  • 阿拉伯文、希臘文、日文、朝鮮文、泰文、緬甸文、蒙古文、藏文、拉丁文......
  • 盲文
  • 數學運算符:[0x2200-0x22FF]
  • 箭頭
  • 貨幣
  • 標點等

以上就是關于Python3如何實現內置函數chr和ord進制轉換的內容,如果你們有學習到知識或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

祁连县| 青海省| 筠连县| 太原市| 临朐县| 通州区| 新平| 蒲城县| 上饶市| 萝北县| 镇远县| 凤阳县| 泸州市| 泉州市| 托里县| 慈溪市| 罗江县| 弥勒县| 呼伦贝尔市| 山阴县| 西峡县| 安康市| 扬中市| 左权县| 克山县| 吴江市| 法库县| 松江区| 望江县| 嘉祥县| 宜宾市| 张家港市| 凤台县| 巍山| 许昌县| 肥西县| 莎车县| 连平县| 潞城市| 奉新县| 桓仁|