Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Encode/Decode ไฟล์ BinHex4 ด้วย Python (binhex)

โมดูล 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 อยู่แล้ว
  • การศึกษา/วิจัยเกี่ยวกับรูปแบบไฟล์ประวัติศาสตร์