crc --- การคำนวณ CRC¶
โมดูล crc คำนวณ checksum แบบ CRC16 และ CRC32 บนบัฟเฟอร์ที่คล้ายไบต์ แต่ละฟังก์ชันอาจเรียกใช้โดยมีเพียง data เพื่อเริ่ม CRC ใหม่ หรือใช้ value ก่อนหน้าเพื่อต่อ CRC ที่มีอยู่ข้ามหลายบัฟเฟอร์
ตัวอย่าง:
import crc
c = crc.crc32(b"hello ")
c = crc.crc32(b"world", value=c)
print(hex(c))
ฟังก์ชัน¶
- crc.crc16(data: bytes, *, value: int = None) int¶
คำนวณ checksum CRC16 บน
dataซึ่งต้องเป็นออบเจกต์ที่คล้ายบัฟเฟอร์ (เช่นbytes,bytearray, หรือmemoryview)หากไม่ได้ระบุ
valueจะเริ่ม CRC16 ใหม่บนdataและคืนค่า หากระบุvalueจะใช้เป็นสถานะ CRC16 ก่อนหน้าและอัปเดตด้วยdataก่อนคืนค่า ทำให้สามารถคำนวณ CRC16 ข้ามหลายบัฟเฟอร์ได้ จะใช้เพียง 16 บิตล่างของvalueคืนค่า CRC16 ที่ได้เป็น
int
- crc.crc32(data: bytes, *, value: int = None) int¶
คำนวณ checksum CRC32 บน
dataซึ่งต้องเป็นออบเจกต์ที่คล้ายบัฟเฟอร์ (เช่นbytes,bytearray, หรือmemoryview)หากไม่ได้ระบุ
valueจะเริ่ม CRC32 ใหม่บนdataและคืนค่า หากระบุvalueจะใช้เป็นสถานะ CRC32 ก่อนหน้าและอัปเดตด้วยdataก่อนคืนค่า ทำให้สามารถคำนวณ CRC32 ข้ามหลายบัฟเฟอร์ได้คืนค่า CRC32 ที่ได้เป็น
int