我正在尝试写一个单十六进制值,对文件说“F”:
a = int('F', 16)
f.write(chr(a))
但是,此代码段为我提供了0F
的文件。我只想在我的文件中使用单个十六进制F
。我知道这是因为一个字符由一个字节表示,有没有办法直接写入没有填充的十六进制值?
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用struct
模块将原始数据写入文件。这会将单个字节写入文件
open('file','wb').write(struct.pack('b', 0xf))
答案 2 :(得分:1)
在大多数现代操作系统上,您无法尝试做的事情。通用计算平台可以处理的最小数据单元是一个字节。
检查此wiki article以获取其中的其他详细信息: "历史上,字节是用于在计算机中编码单个文本字符的位数,因此它是许多计算机体系结构中最小的可寻址存储单元。 "