[英]Python 3 - Use an existing HEX string and write the HEX as raw data
[英]Write a hex string as binary data in Python
我有一個像FF0000FF
這樣的數據字符串,我想將它作為原始 8 位字節11111111 00000000 00000000 11111111
寫入文件。 但是,當使用struct.pack
或者我得到 0 和 1 的文字 ASCII 版本時,我似乎最終得到了很多數據FF
變成FF 00 00 00
的方法。
我怎樣才能簡單地取一個十六進制字符串並將其寫為二進制,所以在十六進制編輯器中查看時,您會看到相同的十六進制字符串?
您正在尋找binascii 。
binascii.unhexlify(hexstr)
返回十六進制字符串 hexstr 表示的二進制數據。
這個函數是 b2a_hex() 的逆函數。 hexstr 必須包含
偶數個十六進制數字(可以大也可以小
case),否則會引發 TypeError。
import binascii
hexstr = 'FF0000FF'
binstr = binascii.unhexlify(hexstr)
在 Python 3.x 中,您可以在字符串的修改形式前使用 b 前綴,然后將其寫入二進制文件,如下所示:
hex_as_bytes = b"\xFF\x00\x00\xFF"
with open("myFileName", "wb") as f: f.write(hex_as_bytes)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.