Xxencode และ Xxdecode

เข้ารหัสข้อความ ไบต์เลขฐานสิบหก หรือไฟล์ด้วย xxencode หรือถอดรหัสบล็อก xxencode กลับเป็นข้อมูลต้นฉบับ ชุดตัวอักษรใช้เฉพาะตัวอักษร ตัวเลข เครื่องหมายบวก และเครื่องหมายลบ

ทำงานภายในเบราว์เซอร์ของคุณทั้งหมด ไม่มีการอัปโหลดข้อมูลใด ๆ

วิธีใช้งาน

  1. เลือก “เข้ารหัส” เพื่อสร้างบล็อก xxencode หรือเลือก “ถอดรหัส” เพื่อแปลงบล็อกกลับเป็นข้อมูล
  2. เปิด “บรรทัด begin / end” ไว้และตั้ง “ชื่อไฟล์” เพื่อให้ได้บล็อกที่สมบูรณ์ หรือปิดตัวเลือกนี้หากต้องการเฉพาะบรรทัดข้อมูล
  3. พิมพ์หรือวางอินพุต หรือคลิก “เปิดไฟล์” ผลลัพธ์จะอัปเดตทันทีขณะที่คุณพิมพ์
  4. กด “คัดลอก” หรือ “ดาวน์โหลด” เพื่อรับผลลัพธ์ เมื่อถอดรหัส หากข้อมูลไม่ใช่ข้อความ ให้เลือกเอาต์พุตเป็น “เลขฐานสิบหก” หรือดาวน์โหลดเป็นไฟล์

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

UuencodeXxencode
อักขระASCII 32 ถึง 95 และแบ็กทิกแทนศูนย์+ - 0-9 A-Z a-z
บรรทัดที่เต็ม 45 ไบต์ขึ้นต้นด้วยMh
บรรทัดสุดท้ายก่อน end`+
ผ่านเกตเวย์ EBCDIC ได้อย่างปลอดภัยไม่ใช่ใช่

ข้อกำหนด

ชุดตัวอักษร+ - 0-9 A-Z a-z
ขนาดเอาต์พุตประมาณ 137% รวมอักขระนำหน้าบรรทัด
แพดดิงบรรทัดละไม่เกิน 45 ไบต์
มาตรฐานxxencode
แยกตัวพิมพ์เล็ก-ใหญ่ใช่

ตัวอย่าง

อินพุต (UTF-8)เอาต์พุต
Hello, World!begin 644 data.bin BG4JgP4wg63RjQalY6E++ + end
Base64.isbegin 644 data.bin 7Ea3nNHMo9aZn + end
你好begin 644 data.bin 4t9qUtOKx + end

คำถามที่พบบ่อย

จะแยก uuencode กับ xxencode ออกจากกันได้อย่างไร
ให้ดูที่บรรทัดข้อมูล บรรทัด xxencode มีเฉพาะตัวอักษร ตัวเลข เครื่องหมายบวก และเครื่องหมายลบ และบรรทัดที่เต็มจะขึ้นต้นด้วย h ส่วนบรรทัด uuencode มีเครื่องหมายวรรคตอน และบรรทัดที่เต็มจะขึ้นต้นด้วย M หากถอดรหัสที่นี่แล้วพบข้อผิดพลาดว่าอักขระไม่ถูกต้อง ให้ลองใช้หน้า uuencode
เครื่องมือนี้เขียนบรรทัด begin และ end ให้หรือไม่
ใช่ โดยค่าเริ่มต้นจะเขียน begin 644 พร้อมชื่อไฟล์ที่คุณป้อน และบรรทัดปิดท้าย ปิดตัวเลือก “บรรทัด begin / end” หากต้องการเฉพาะบรรทัดข้อมูลที่เข้ารหัสแล้ว
ถอดรหัสบล็อกที่ไม่มีบรรทัด begin ได้หรือไม่

ได้ หากไม่มีบรรทัด begin ทุกบรรทัดที่ไม่ว่างจะถูกถอดรหัสเป็นข้อมูล หากมี การถอดรหัสจะเริ่มหลังบรรทัดนั้นและหยุดที่บรรทัด end ข้อความรอบ ๆ จึงถูกละเว้น

ยังมีการใช้ xxencode อยู่หรือไม่
น้อยมาก ส่วนใหญ่จะพบในคลังอีเมลและข่าวรุ่นเก่า สำหรับข้อมูลใหม่ Base64 ได้รับการรองรับแทบทุกที่ และปลอดภัยพอ ๆ กันสำหรับช่องทางที่รับส่งได้เฉพาะข้อความ