โมดูล binhex เข้ารหัสและถอดรหัสไฟล์ในรูปแบบ BinHex4 รูปแบบนี้ใช้แทนไฟล์ Macintosh ใน ASCII จัดการเฉพาะ Data fork
ฟังก์ชันหลัก
| ฟังก์ชัน | คำอธิบาย |
|---|---|
binhex.binhex(input, output) | เข้ารหัสไฟล์ binary input เป็น BinHex output (filename หรือ file-like object) |
binhex.hexbin(input, output) | ถอดรหัสไฟล์ BinHex input เขียนเป็น output (ถ้า output=None จะอ่านชื่อไฟล์จาก header) |
ตัวอย่างการใช้งาน
เข้ารหัสไฟล์ Text เป็น BinHex
import binhex
import sys
infile = "file.txt"
binhex.binhex(infile, 'test.hqx')
เนื้อหาไฟล์ test.hqx (ตัวอย่าง)
:#'CTE'8ZG(Kd!&4&@&3rN!3!N!8G!*!%Ql&6D@e`E'8JDA-JBQ9dG'9b)(4SB@i JBfpYF'aPH-bk!!!:
ถอดรหัส BinHex กลับเป็น Binary
import binhex
import sys
infile = "test.hqx"
binhex.hexbin(infile, 'test.txt')
ข้อจำกัดและข้อสังเกต
- รองรับเฉพาะ Data fork ของไฟล์ Macintosh (ไม่รองรับ Resource fork)
- รูปแบบ BinHex4 แบบเก่า ใช้งานน้อยในปัจจุบัน
- สำหรับการเข้ารหัสทั่วไป ควรใช้
base64แทน - โมดูลนี้ Deprecated ใน Python 3.11+ (อาจถูกลบในอนาคต)
เมื่อไหร่ควรใช้
- รักษาความเข้ากันได้กับระบบ Macintosh เก่า (Classic Mac OS)
- โปรเจกต์เก่าที่ใช้ BinHex4 อยู่แล้ว
- การศึกษา/วิจัยเกี่ยวกับรูปแบบไฟล์ประวัติศาสตร์