在 Python 中將字串轉換為十六進位制
Manav Narula
2021年3月21日
十六進位制值的底數為 16。在 Python 中,十六進位制字串的字首為 0x
。
hex()
函式用於將十進位制整數轉換為其相應的十六進位制數。例如,
a = 102
print(hex(a))
輸出:
0x66
我們還可以使用帶有 float()
函式的 hex()
函式將 float 值轉換為十六進位制。以下程式碼實現了這一點。
a = 102.18
print(float.hex(a))
輸出:
0x1.98b851eb851ecp+6
我們無法使用此函式轉換字串。因此,如果遇到一種情況,我們有一個十六進位制的字串並想將其轉換為十六進位制的數字,我們將無法直接執行它。在這種情況下,我們必須使用 int()
函式將此字串轉換為所需的十進位制值,然後使用前面討論的 hex()
函式將該字串轉換為十六進位制數。
以下程式碼顯示了這一點。
hex_s = '0xEFA'
a = int(hex_s,16)
hex_n = hex(a)
print(hex_n)
輸出:
0xefa
字串中的字元沒有任何對應的十六進位制值。但是,如果使用 encode()
函式將字串轉換為位元組型別的物件,則可以使用 hex()
函式將其轉換為十六進位制值。
例如,
s= 'Sample String'.encode('utf-8')
print(s.hex())
輸出:
53616d706c6520537472696e67
在上面的程式碼中,我們將字串編碼為 utf-8
型別,並將其轉換為位元組型別。
Author: Manav Narula
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn相關文章 - Python String
- 在 Python 中從字串中刪除逗號
- 如何用 Pythonic 的方式來檢查字串是否為空
- 在 Python 中將字串轉換為變數名
- Python 如何去掉字串中的空格/空白符
- 如何在 Python 中從字串中提取數字
- Python 如何將字串轉換為時間日期 datetime 格式