當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python Hex String轉Bytes用法及代碼示例


十六進製字符串是二進製數據的常見表示形式,特別是在低級編程和數據操作領域。在Python中,將十六進製字符串轉換為字節是一項頻繁的任務,有多種方法可以實現這一點。在本文中,我們將探討一些在 Python 中將十六進製字符串轉換為字節的簡單且常用的方法。

Python 將十六進製字符串轉換為字節

下麵是Python將十六進製字符串轉換為字節的方法Python.

  • 使用bytes.fromhex() Function
  • 使用bytearray.fromhex() Function
  • 使用列表理解Function
  • 使用binascii.unhexlify() Function

使用以下命令將十六進製字符串轉換為字節bytes.fromhex() Function

In this example, below code initializes a hex string "1a2b3c" and converts it to bytes using the `bytes.fromhex()` method, storing the result in the variable `bytes_result`. The subsequent print statements display the types of the original hex string, the resulting bytes, and the type of the bytes object.

Python3


hex_string = "1a2b3c"
bytes_result = bytes.fromhex(hex_string)
print(type(hex_string))
print(bytes_result)
print(type(bytes_result))
輸出
<class 'str'>
b'\x1a+<'
<class 'bytes'>

使用以下命令將十六進製字符串轉換為字節bytearray.fromhex() Function

In this example, below code defines a hex string "1a2b3c" and converts it to a bytearray using the `bytearray.fromhex()` method, storing the result in the variable `bytearray_result`. The subsequent print statements display the type of the original hex string, the resulting bytearray, and the type of the bytearray object.

Python3


hex_string = "1a2b3c"
bytearray_result = bytearray.fromhex(hex_string)
print(type(hex_string))
print(bytearray_result)
print(type(bytearray_result))
輸出
<class 'str'>
bytearray(b'\x1a+<')
<class 'bytearray'>

使用列表理解將十六進製字符串轉換為字節Function

在此示例中,下麵的代碼初始化十六進製字符串 “1a2b3c” 並使用列表理解和“int()”函數。結果字節存儲在變量“bytes_result”中。隨後的打印語句顯示原始十六進製字符串的類型、生成的字節以及字節對象的類型。

Python3


hex_string = "1a2b3c"
bytes_result = bytes([int(hex_string[i:i+2], 
                          16) for i in range(0, len(hex_string), 2)])
print(type(hex_string))
print(bytes_result)
print(type(bytes_result))
輸出
<class 'str'>
b'\x1a+<'
<class 'bytes'>

使用以下命令將十六進製字符串轉換為字節binascii.unhexlify() Function

In this example, below code uses the `binascii` module to convert the hex string "1a2b3c" to bytes using the `unhexlify()` function. The resulting bytes are stored in the variable `bytes_result`. The subsequent print statements display the type of the original hex string, the resulting bytes, and the type of the bytes object.

Python3


import binascii
hex_string = "1a2b3c"
bytes_result = binascii.unhexlify(hex_string)
print(type(hex_string))
print(bytes_result)
print(type(bytes_result))
輸出
<class 'str'>
b'\x1a+<'
<class 'bytes'>

結論

在 Python 中將十六進製字符串轉換為字節可以使用多種方法來完成,方法的選擇通常取決於手頭任務的具體要求。本文介紹的方法簡單、常用,涵蓋了多種場景。根據十六進製數據的上下文和性質,您可以選擇最適合您需求的方法。



相關用法


注:本文由純淨天空篩選整理自nayanchaure大神的英文原創作品 Convert Hex String to Bytes in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。