วิธีใช้งาน
- เลือก “เข้ารหัส” เพื่อสร้างบล็อก xxencode หรือเลือก “ถอดรหัส” เพื่อแปลงบล็อกกลับเป็นข้อมูล
- เปิด “บรรทัด begin / end” ไว้และตั้ง “ชื่อไฟล์” เพื่อให้ได้บล็อกที่สมบูรณ์ หรือปิดตัวเลือกนี้หากต้องการเฉพาะบรรทัดข้อมูล
- พิมพ์หรือวางอินพุต หรือคลิก “เปิดไฟล์” ผลลัพธ์จะอัปเดตทันทีขณะที่คุณพิมพ์
- กด “คัดลอก” หรือ “ดาวน์โหลด” เพื่อรับผลลัพธ์ เมื่อถอดรหัส หากข้อมูลไม่ใช่ข้อความ ให้เลือกเอาต์พุตเป็น “เลขฐานสิบหก” หรือดาวน์โหลดเป็นไฟล์
xxencode คืออะไร
Xxencode คงโครงสร้างของ uuencode ไว้ทั้งหมดและเปลี่ยนเพียงอักขระที่ใช้ ข้อมูลทุก 3 ไบต์ยังคงกลายเป็นค่า 6 บิตสี่ค่า บรรทัดข้อมูลยังคงบรรจุได้ไม่เกิน 45 ไบต์ต่อจากอักขระบอกความยาว และบล็อกยังคงอยู่ระหว่างบรรทัด begin 644 name กับบรรทัด end
ค่าทั้ง 64 ค่าจะถูกจับคู่กับ +, -, ตัวเลข 0-9, ตัวพิมพ์ใหญ่ A-Z และตัวพิมพ์เล็ก a-z ตามลำดับนี้ อักขระบอกความยาวก็ใช้ตารางเดียวกัน บรรทัดที่เต็ม 45 ไบต์จึงขึ้นต้นด้วย h และบรรทัดว่างก่อน end คือ + ตัวเดียว เนื่องจากโครงสร้างเหมือนกันทุกประการ เอาต์พุตจึงมีขนาดเท่ากับ uuencode คือใหญ่กว่าอินพุตประมาณ 38% เมื่อนับรวมอักขระบอกความยาวและการขึ้นบรรทัดใหม่
เหตุใดจึงมีการสร้าง xxencode
เอาต์พุตของ uuencode เต็มไปด้วยเครื่องหมายวรรคตอน เช่น [, ], \, ^ และ ! เมนเฟรมของ IBM ใช้ EBCDIC แทน ASCII และอักขระเหล่านี้อยู่คนละตำแหน่งในโค้ดเพจ EBCDIC แต่ละแบบ เมื่ออีเมลผ่านเกตเวย์ระหว่างเครือข่าย ASCII กับ EBCDIC อักขระเหล่านี้จึงอาจถูกแปลงผิดและทำให้ไฟล์เสียหาย
ตัวอักษร ตัวเลข เครื่องหมายบวก และเครื่องหมายลบเหมือนกันในทุกโค้ดเพจของ EBCDIC ข้อความ xxencode จึงแปลงไปมาได้อย่างถูกต้องทั้งสองทิศทาง ต่อมา MIME ก็บรรลุเป้าหมายเดียวกัน โดย Base64 ใช้เฉพาะตัวอักษร ตัวเลข และสัญลักษณ์ไม่กี่ตัวที่เหมือนกันทั้งใน ASCII และ EBCDIC xxencode ไม่เคยแพร่หลายเท่า uuencode และในที่สุด Base64 ก็เข้ามาแทนที่ทั้งสองแบบ
เปรียบเทียบ uuencode กับ xxencode
| Uuencode | Xxencode | |
|---|---|---|
| อักขระ | ASCII 32 ถึง 95 และแบ็กทิกแทนศูนย์ | + - 0-9 A-Z a-z |
| บรรทัดที่เต็ม 45 ไบต์ขึ้นต้นด้วย | M | h |
| บรรทัดสุดท้ายก่อน end | ` | + |
| ผ่านเกตเวย์ EBCDIC ได้อย่างปลอดภัย | ไม่ใช่ | ใช่ |
ข้อกำหนด
| ชุดตัวอักษร | + - 0-9 A-Z a-z |
|---|---|
| ขนาดเอาต์พุต | ประมาณ 137% รวมอักขระนำหน้าบรรทัด |
| แพดดิง | บรรทัดละไม่เกิน 45 ไบต์ |
| มาตรฐาน | xxencode |
| แยกตัวพิมพ์เล็ก-ใหญ่ | ใช่ |
ตัวอย่าง
| อินพุต (UTF-8) | เอาต์พุต |
|---|---|
Hello, World! | begin 644 data.bin
BG4JgP4wg63RjQalY6E++
+
end |
Base64.is | begin 644 data.bin
7Ea3nNHMo9aZn
+
end |
你好 | begin 644 data.bin
4t9qUtOKx
+
end |
คำถามที่พบบ่อย
จะแยก uuencode กับ xxencode ออกจากกันได้อย่างไร
h ส่วนบรรทัด uuencode มีเครื่องหมายวรรคตอน และบรรทัดที่เต็มจะขึ้นต้นด้วย M หากถอดรหัสที่นี่แล้วพบข้อผิดพลาดว่าอักขระไม่ถูกต้อง ให้ลองใช้หน้า uuencodeเครื่องมือนี้เขียนบรรทัด begin และ end ให้หรือไม่
begin 644 พร้อมชื่อไฟล์ที่คุณป้อน และบรรทัดปิดท้าย ปิดตัวเลือก “บรรทัด begin / end” หากต้องการเฉพาะบรรทัดข้อมูลที่เข้ารหัสแล้วถอดรหัสบล็อกที่ไม่มีบรรทัด begin ได้หรือไม่
ได้ หากไม่มีบรรทัด begin ทุกบรรทัดที่ไม่ว่างจะถูกถอดรหัสเป็นข้อมูล หากมี การถอดรหัสจะเริ่มหลังบรรทัดนั้นและหยุดที่บรรทัด end ข้อความรอบ ๆ จึงถูกละเว้น