bloggerads

2017年10月3日 星期二

Python : struct

這篇說明 Python 要如何像C/C++一樣,將struct資料以binary的形式寫入檔案。
參考以下範例:

#! python2
""" Author: Martin Lee """
import struct
with open('out.bin','wb') as f:
    f.write(struct.pack('B8sHHL', 22, 'Hi World', 1, 2, 0x3322))

fin = open("out.bin", "rb")
i = struct.unpack('B8sHHL', fin.read())
fin.close()


print hex(i[0])
print i[1]
print hex(i[2])
print hex(i[3])
print hex(i[4])


其中
B 代表 unsigned char, 佔1個Byte
代表一個 char, 佔1個Byte, 8s 代表 8 個 char
H 代表 unsigned short, 佔2個Byte
L 代表 unsigned long, 佔4個Byte

相關細節請參考 https://docs.python.org/2/library/struct.html

沒有留言:

張貼留言