python進制間轉換和進制與字符轉化總結

使用python3.7作爲測試環境,python2可能會有差異。

進制之間的轉化

10進制比較特殊,如果需要十進制字符串可以在十進制數基礎上外套一個str()函數。

輸出\輸入 2進制字符串(‘0b10’) 8進制字符串(‘0o1’) 10進制數 16進制字符串(‘0xaa’)
2進制字符串 - bin(int(n,8)) bin(int(n,10)) bin(int(n,16))
8進制字符串 oct(int(n,2)) - oct(int(n,10)) oct(int(n,16))
10進制數 int(n,2) int(n,8) - int(n,16)
16進制字符串 hex(int(n,2)) hex(int(n,8)) hex(int(n,10)) -

進制與字符轉化

10進制數值和對應字符的轉化

A = 40
chr(A)
>>> '('

B = '('
ord(B)
>>> 40

單字符轉化成對應16進制字符串

A = '('
hex(ord(A))[2:]
>>> 28

B = 28
chr(int(str(B), 16))
>>> '('

如果需要返回bytes類型,可以將上述轉化,或者直接使用binascii標準庫。

A = b'28'
binascii.a2b_hex(A)
>>> b'('

B = b'('
binascii.b2a_hex(B)
>>> b'28'

這裏binascii.a2b_hex()的輸入除了bytes類型,也可以是str類型。但binascii.b2a_hex()不能使用str類型作爲輸入。

關於時間的轉化的總結,可以參考另一篇文章

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章