簡體   English   中英

如何在Python中將單個十六進制值寫入文件?

[英]How to write a single hex value to file in Python?

我正在嘗試寫一個十六進制值,對文件說'F':

a = int('F', 16)
f.write(chr(a))

但是,此代碼段為我提供了0F的文件。 我只想要文件中的單個十六進制F 我知道這是因為char由一個字節表示,有沒有一種方法可以直接在不使用填充的情況下寫入十六進制值?

使用字符串格式

 f.write("{:X}".format(a))

它將寫為F

 >>> "{:X}".format(a)
 'F'

您可以使用struct模塊將原始數據寫入文件。 這會將一個字節寫入文件

open('file','wb').write(struct.pack('b', 0xf))

在大多數現代操作系統上,您要嘗試執行的操作都是不可能的。 通用計算平台可以處理的最小數據單元是一個字節。

查看此Wiki文章 ,了解其中的其他詳細信息:“從歷史上講,字節是用於對計算機中的文本的單個字符進行編碼的位數,因此,它是許多計算機體系結構中最小的可尋址內存單元“

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM