ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับ โครงสร้าง โมดูล. มาดำดิ่งสู่บทแนะนำกันเลย
โมดูล โครงสร้าง ใช้สำหรับแปลงประเภทข้อมูลดั้งเดิมของ 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)
บทสรุป
หากคุณมีข้อสงสัยใดๆ ในบทแนะนำ โปรดระบุในส่วนความคิดเห็น