ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับ โครงสร้าง โมดูล. มาดำดิ่งสู่บทแนะนำกันเลย
โมดูล โครงสร้าง ใช้สำหรับแปลงประเภทข้อมูลดั้งเดิมของ Python เป็น สตริงไบต์ และในทางกลับกัน. เราไม่ต้องติดตั้ง เป็นโมดูลในตัวที่มีให้ใน Python3 .
โมดูล struct เกี่ยวข้องกับภาษา C เราต้องรู้สัญกรณ์ที่ใช้ใน C เพื่อแสดงข้อมูลประเภทต่างๆ เพื่อทำงานกับ struct โมดูล. มาดูกันบ้าง
| ประเภทข้อมูล | รูปแบบตัวละคร |
|---|---|
| int | ฉัน |
| แผนภูมิ | c |
| สตริง | s |
| ลอย | f |
มาดูวิธีการแปลงประเภทข้อมูล Python เป็นไบต์กัน
struct.pack()
เมธอด struct.pack() ใช้ในการแปลงชนิดข้อมูลเป็นไบต์ ต้องใช้หลายอาร์กิวเมนต์ตามสตริงแรก
เราต้องส่งสตริงแรกที่มีอักขระรูปแบบตามที่กล่าวไว้ในตารางด้านบน เราสามารถส่งข้อโต้แย้งใด ๆ ตามที่เราต้องการ มาดูตัวอย่างกัน
- struct.pack('14s i', b'Tutorialspoint', 2020)
- struct.pack('i i f 3s', 1, 2, 3.5, b'abc')
มาแปลงตัวอย่างด้านบนเป็นไบต์กันเถอะ
ตัวอย่าง
# importing the struct module
import struct
# converting into bytes
print(struct.pack('14s i', b'Tutorialspoint', 2020))
print(struct.pack('i i f 3s', 1, 2, 3.5, b'abc')) ผลลัพธ์
หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้
b'Tutorialspoint\x00\x00\xe4\x07\x00\x00' b'\x01\x00\x00\x00\x02\x00\x00\x00\x00\x00`@abc'
struct.unpack()¶
เรามีวิธีอื่น struct.unpack() ที่แปลงไบต์เป็นชนิดข้อมูล Python ดั้งเดิม ต้องใช้สองอาร์กิวเมนต์ อาร์กิวเมนต์แรกคล้ายกับ pack() วิธีและอันที่สองเป็นผลมาจาก struct.pack() วิธีการ
เมธอด struct.unpack() คืนค่า tutple เสมอ
ตัวอย่าง
# importing the struct module
import struct
# converting into bytes
converted_bytes = struct.pack('14s i', b'Tutorialspoint', 2020)
# converting into Python data types
print(struct.unpack('14s i', converted_bytes)) ผลลัพธ์
หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้
(b'Tutorialspoint', 2020)
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น