Trong hướng dẫn này, chúng ta tìm hiểu module struct.
Module struct chuyển đổi kiểu dữ liệu gốc Python thành chuỗi byte và ngược lại. Là module built-in trong Python 3.
Struct liên quan đến ngôn ngữ C. Cần biết ký hiệu định dạng C:
| Kiểu dữ liệu | Ký hiệu định dạng |
|---|---|
| int | i |
| char | c |
| string | s |
| float | f |
struct.pack()
Chuyển đổi kiểu dữ liệu thành bytes. Tham số đầu là chuỗi ký hiệu định dạng.
- struct.pack('14s i', b'Tutorialspoint', 2020)
- struct.pack('i i f 3s', 1, 2, 3.5, b'abc')
Ví dụ
import struct
print(struct.pack('14s i', b'Tutorialspoint', 2020))
print(struct.pack('i i f 3s', 1, 2, 3.5, b'abc'))
Kết quả
b'Tutorialspoint\x00\x00\xe4\x07\x00\x00' b'\x01\x00\x00\x00\x02\x00\x00\x00\x00\x00`@abc'
struct.unpack()
Chuyển bytes về kiểu dữ liệu Python gốc. Nhận 2 tham số: chuỗi định dạng và kết quả của pack(). Luôn trả về tuple.
Ví dụ
import struct
converted_bytes = struct.pack('14s i', b'Tutorialspoint', 2020)
print(struct.unpack('14s i', converted_bytes))
Kết quả
(b'Tutorialspoint', 2020)
Kết luận
struct pack/unpack chuyển đổi giữa kiểu Python và bytes. Hãy bình luận nếu có thắc mắc.