29 เมษายน 2558

Published 4/29/2558 by with 0 comment

บีบอัดข้อมูลด้วย zlib บน Python

zlib เป็นไลบรารีสำหรับใช้บีบอัดข้อมูลให้มีขนาดเล็กลง ส่วนใหญ่จะนิยมใช้กับบีบอีดนี้กับเว็บไซต์เพื่อประหยัดแบนด์วิดท์ครับ เราสามารถนำ zlib มาบีบอัดข้อมูลเช่น ข้อความ ให้มีขนาดเล็กลงได้ครับ

คำสั่งบีบอัดข้อมูล
เราสามารถกำหนดระดับการบีบอัดข้อมูลได้จากคำสั่ง

[python]
zlib.compress(data[, level])
[/python]

level คือ ระดับการบีบอัดข้อมูล
และคำสั่ง

[python]
zlib.compressobj()
[/python]

สำหรับใช้บีบอัดวัตถุ ข้อมูลสตรีม
คำสั่งคลายการบีบอัดข้อมูล

[python]
zlib.decompress(data)
[/python]

และคำสั่ง

[python]
zlib.decompressobj(wbits=15[, zdict])
[/python]

สำหรับคลายวัตถุ ข้อมูลสตรีม
และคำสั่งสำหรับข้อมูลสตรีม

[python]
Compress.flush([mode])
[/python]

รับข้อมูลที่ค้างอยู่ทั้งหมด จะถูกประมวลผลและวัตถุไบต์ที่มีเอาท์พุทบีบอัดที่เหลือ จะถูกส่งกลับ

การใช้งาน

[python]
>>> import zlib
[/python]

เข้ามาเมื่อเรียกใช้งานคำสั่งของไลบรารี zlib
บีบอัดข้อความ ก่อนนำข้อมูลไปบีบอัดต้องเข้ารหัสข้อมูลก่อนครับ

[python]
>>> data = "แมว กิน ปลาทู่ ที่ ขโมย มา จาก เจ้านาย เจ้านาย ยอม เพราะเป็นบ่าวแมว -..-".encode('utf-8')
>>> comprez = zlib.compress(data)
[/python]

คลายข้อมูลออกมา

[python]
>>> decomprez = zlib.decompress(comprez).decode('utf-8')
>>> decomprez
'แมว กิน ปลาทู่ ที่ ขโมย มา จาก เจ้านาย เจ้านาย ยอม เพราะเป็นบ่าวแมว -..-'
[/python]

อ่านเอกสารเพิ่มเติมได้ที่ https://docs.python.org/3/library/zlib.html
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)