Hướng dẫn python struct pack list - danh sách gói cấu trúc python

Mã nguồn: lib/struct.py Lib/struct.py Lib/struct.py

Mô -đun này thực hiện chuyển đổi giữa các giá trị python và các cấu trúc C được biểu thị dưới dạng các đối tượng Python

>>> pack['ci', b'*', 0x12131415]
b'*\x00\x00\x00\x12\x13\x14\x15'
>>> pack['ic', 0x12131415, b'*']
b'\x12\x13\x14\x15*'
>>> calcsize['ci']
8
>>> calcsize['ic']
5
9. Điều này có thể được sử dụng để xử lý dữ liệu nhị phân được lưu trữ trong các tệp hoặc từ các kết nối mạng, trong số các nguồn khác. Nó sử dụng các chuỗi định dạng làm mô tả nhỏ gọn về bố cục của các cấu trúc C và chuyển đổi dự định sang/từ các giá trị python.Format Strings as compact descriptions of the layout of the C structs and the intended conversion to/from Python values.Format Strings as compact descriptions of the layout of the C structs and the intended conversion to/from Python values.

Ghi chú

Theo mặc định, kết quả của việc đóng gói một cấu trúc C đã cho bao gồm các byte pad để duy trì sự liên kết thích hợp cho các loại C liên quan; Tương tự, căn chỉnh được tính đến khi giải nén. Hành vi này được chọn sao cho các byte của một cấu trúc được đóng gói tương ứng chính xác với bố cục trong bộ nhớ của cấu trúc c tương ứng. Để xử lý các định dạng dữ liệu độc lập với nền tảng hoặc bỏ qua các byte pad ngầm, hãy sử dụng kích thước và căn chỉnh

>>> pack['ci', b'*', 0x12131415]
b'*\x00\x00\x00\x12\x13\x14\x15'
>>> pack['ic', 0x12131415, b'*']
b'\x12\x13\x14\x15*'
>>> calcsize['ci']
8
>>> calcsize['ic']
5
0 thay vì kích thước và căn chỉnh
>>> pack['ci', b'*', 0x12131415]
b'*\x00\x00\x00\x12\x13\x14\x15'
>>> pack['ic', 0x12131415, b'*']
b'\x12\x13\x14\x15*'
>>> calcsize['ci']
8
>>> calcsize['ic']
5
1: Xem thứ tự byte, kích thước và căn chỉnh để biết chi tiết.Byte Order, Size, and Alignment for details.Byte Order, Size, and Alignment for details.

Một số hàm

>>> pack['ci', b'*', 0x12131415]
b'*\x00\x00\x00\x12\x13\x14\x15'
>>> pack['ic', 0x12131415, b'*']
b'\x12\x13\x14\x15*'
>>> calcsize['ci']
8
>>> calcsize['ic']
5
2 [và phương pháp của
>>> pack['ci', b'*', 0x12131415]
b'*\x00\x00\x00\x12\x13\x14\x15'
>>> pack['ic', 0x12131415, b'*']
b'\x12\x13\x14\x15*'
>>> calcsize['ci']
8
>>> calcsize['ic']
5
3] có đối số bộ đệm. Điều này đề cập đến các đối tượng thực hiện giao thức bộ đệm và cung cấp bộ đệm có thể đọc được hoặc dễ đọc. Các loại phổ biến nhất được sử dụng cho mục đích đó là
>>> pack['ci', b'*', 0x12131415]
b'*\x00\x00\x00\x12\x13\x14\x15'
>>> pack['ic', 0x12131415, b'*']
b'\x12\x13\x14\x15*'
>>> calcsize['ci']
8
>>> calcsize['ic']
5
9 và

>>> record = b'raymond   \x32\x12\x08\x01\x08'
>>> name, serialnum, school, gradelevel = unpack['

Bài Viết Liên Quan

Chủ Đề