Python解析二進位制檔案

2021-08-25 14:42:52 字數 878 閱讀 6873

使用python解析二進位制檔案時,需要了解python與c語言對應的格式,如下:

例如使用c語言儲存的二進位制格式,結構體為:

struct  points

;struct obj_info;

obj_info結構體的位元組數為2512,則引數**,解析的格式為:

fd = open(u"/home/ubuntu/workspace/read_sensor_data/debug/data/2018_08_22_11_13_50_lidar4.dat", 'rb')

while fd:

buf = fd.read(2512)

if len(buf) == 0:

break

id, sensor_type, obs_type, x1, y1, x2, y2, x3, y3, x4, y4, vx, vy, vz = \

struct.unpack('14i', buf[0:56])

read_flag, flag_next_frame = struct.unpack('2b', buf[56:58])

current_time = str(struct.unpack('50s', buf[58:108]))[3:22]

obspoint = struct.unpack('600i', buf[108:2508])

point_num = struct.unpack('i', buf[2508:2512])[0]

則可以將儲存到二進位制檔案中的每個目標資料解析出來。

二進位制檔案

本質上是文字檔案是把檔案資訊先轉化成以字元編碼的ascii碼,再儲存ascii的二進位制 而二進位制檔案是直接把檔案資訊編碼成二進位制儲存。因此在讀取的時候要考慮記憶體中二進位制 應該怎麼樣解釋。二進位制檔案的讀取是是要告訴元素的型別 編碼方式 文字檔案則預設為char型別。文字檔案是一種特殊的二進...

二進位制檔案

二進位制檔案 也叫型別檔案 二進位制檔案是由一批同一型別的資料組成的乙個資料序列,就是說乙個具體的二進位制檔案只能存放同一種型別的資料。type tmember record name string 10 email string 20 posts longint end var members a...

二進位制檔案

二進位制檔案 也叫型別檔案 二進位制檔案是由一批同一型別的資料組成的乙個資料序列,就是說乙個具體的二進位制檔案只能存放同一種型別的資料。type tmember record name string 10 email string 20 posts longint end var members a...