เข้ารหัสทุกรูปแบบพร้อมกัน

พิมพ์หรือวางข้อความเพียงครั้งเดียว แล้วดูผลลัพธ์เป็นเลขฐานสอง เลขฐานสิบหก ตระกูล Base32, Base58, Base64, ตระกูล Base85, Base91 และอื่น ๆ เรียงเทียบกัน โดยแต่ละรายการมีปุ่ม “คัดลอก” ของตัวเอง

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

วิธีใช้งาน

  1. พิมพ์หรือวางข้อความลงในช่องอินพุต
  2. ทุกการเข้ารหัสจะอัปเดตทันทีขณะพิมพ์ ได้แก่ เลขฐานสอง เลขฐานแปด เลขฐานสิบ เลขฐานสิบหก Base32 รูปแบบต่าง ๆ Base36 ถึง Base91 รวมทั้ง uuencode และ xxencode
  3. เปรียบเทียบเอาต์พุตเพื่อดูว่าแบบใดสั้นที่สุด หรือแบบใดใช้เฉพาะอักขระที่คุณยอมรับได้
  4. คลิก “คัดลอก” ข้างผลลัพธ์ที่ต้องการ

ทุกการเข้ารหัสจากอินพุตเดียว

การเข้ารหัสแต่ละแบบในหน้านี้แปลงไบต์ชุดเดียวกันเป็นชุดอักขระที่ต่างกัน การดูผลลัพธ์เรียงเทียบกันจึงเป็นวิธีที่เร็วที่สุดในการเลือกการเข้ารหัสสำหรับโปรเจกต์ ระบุสตริงที่พบในล็อกหรือไฟล์ตั้งค่า หรือเรียนรู้ว่าแต่ละรูปแบบต่างกันอย่างไร ข้อความของคุณจะถูกเข้ารหัสเป็นไบต์ UTF-8 ตัวอักษรที่มีเครื่องหมายกำกับจึงนับเป็นสองไบต์ ส่วนอักษรจีนหนึ่งตัวนับเป็นสามไบต์ ทุกอย่างทำงานในเบราว์เซอร์ของคุณ

  • ตัวเลขทีละไบต์ เลขฐานสอง เลขฐานแปด และเลขฐานสิบเขียนแต่ละไบต์แยกกัน อ่านง่ายแต่ยาว
  • กลุ่มบิต เลขฐานสิบหก, Base32 (รวมถึง Base32hex, Crockford และ z-base-32), Base64 และ Base64URL ให้อักขระแต่ละตัวแทนจำนวนบิตที่คงที่ ความยาวเอาต์พุตจึงขึ้นอยู่กับความยาวอินพุตเท่านั้น
  • เลขจำนวนใหญ่ Base36, Base58 และ Base62 มองอินพุตทั้งหมดเป็นจำนวนเต็มขนาดใหญ่ตัวเดียว ความยาวอาจต่างกันหนึ่งอักขระตามค่าของข้อมูล และไบต์ศูนย์ที่นำหน้าจะถูกเก็บไว้เป็นอักขระนำหน้า
  • บล็อก Base45 แปลง 2 ไบต์เป็น 3 อักขระ Ascii85, Z85 และ Base85 แปลง 4 ไบต์เป็น 5 อักขระ ส่วน Base91 บรรจุข้อมูล 13 หรือ 14 บิตลงในอักขระแต่ละคู่
  • บรรทัด uuencode และ xxencode เป็นรูปแบบเก่าที่ใช้กับอีเมลและ Usenet โดยเขียนข้อมูลเป็นบรรทัด และแต่ละบรรทัดขึ้นต้นด้วยอักขระที่บอกความยาว

เปรียบเทียบขนาดเอาต์พุต

จำนวนอักขระที่แต่ละการเข้ารหัสต้องใช้ต่อไบต์อินพุต และความยาวของค่าขนาด 32 ไบต์ เช่น แฮช SHA-256 หรือคีย์สาธารณะ Ed25519 หลังเข้ารหัส

การเข้ารหัสอักขระต่อไบต์32 ไบต์กลายเป็น
Base16 (เลขฐานสิบหก)2.064
Base321.656 (52 หากไม่มีแพดดิง)
Base36ประมาณ 1.5549 หรือ 50
Base451.548
Base58ประมาณ 1.3743 หรือ 44
Base62ประมาณ 1.3442 หรือ 43
Base64ประมาณ 1.3344 (43 หากไม่มีแพดดิง)
Base851.2540
Base91ประมาณ 1.2339 หรือ 40

การเปลี่ยนจากเลขฐานสิบหกเป็น Base64 ช่วยลดความยาวได้หนึ่งในสาม แต่หากเปลี่ยนต่อจาก Base64 เป็น Base91 จะประหยัดเพิ่มได้อีกเพียงประมาณ 8% เท่านั้น

ควรเลือกการเข้ารหัสแบบใด

เอาต์พุตที่สั้นที่สุดไม่ได้ดีที่สุดเสมอไป Ascii85 อาจมีเครื่องหมายคำพูดและแบ็กสแลช ส่วน Base91 อาจมีเครื่องหมายอัญประกาศคู่ ทั้งสองแบบจึงอาจต้อง escape เมื่อใช้ใน JSON, HTML หรือคำสั่งเชลล์ ควรพิจารณาก่อนว่าสตริงจะถูกนำไปใช้ที่ใด

  • URL และชื่อไฟล์: Base64URL, Base58 หรือ Base62
  • การอ่านออกเสียงหรือพิมพ์ด้วยมือ: Crockford Base32 หรือ Base58 ซึ่งตัดอักขระที่ดูคล้ายกันออก
  • ระบบที่ไม่แยกตัวพิมพ์เล็ก-ใหญ่: เลขฐานสิบหก, Base32 หรือ Base36
  • QR code: Base45 ซึ่งใช้เฉพาะอักขระของโหมดตัวอักษรและตัวเลข (alphanumeric) ใน QR code
  • ข้อความแบบกะทัดรัดใน PDF, Git หรือ ZeroMQ: Ascii85, Base85 หรือ Z85
  • ความเข้ากันได้สูงสุด: Base64 ซึ่งรองรับในแทบทุกภาษาโปรแกรมและทุกแพลตฟอร์ม

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

การเข้ารหัสแบบใดให้เอาต์พุตสั้นที่สุด

ในบรรดาการเข้ารหัสในหน้านี้ Base91 กะทัดรัดที่สุด โดยใช้ประมาณ 1.23 อักขระต่อไบต์ รองลงมาคือ Ascii85, Z85 และ Base85 ที่ 1.25 อักขระต่อไบต์ ส่วน Base64 ใช้ประมาณ 1.33 แต่ได้รับการรองรับกว้างขวางกว่ามาก จึงมักเป็นตัวเลือกเริ่มต้น

ทำไมผลลัพธ์ Base58 และ Base62 จึงยาวไม่เท่ากันแม้อินพุตมีขนาดเท่ากัน

ทั้งสองแบบแปลงอินพุตทั้งหมดเป็นตัวเลขขนาดใหญ่ตัวเดียว ความยาวจึงขึ้นอยู่กับค่าของตัวเลข ไม่ใช่แค่ขนาดของข้อมูล และไบต์ศูนย์ที่นำหน้าแต่ละไบต์ยังเพิ่มอักขระนำหน้าอีกหนึ่งตัว ส่วนเลขฐานสิบหก, Base32 และ Base64 ให้ความยาวเท่ากันเสมอเมื่อจำนวนไบต์เท่ากัน

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

เลขฐานสองเขียน 8 หลักสำหรับทุกไบต์ และยังมีตัวคั่นเพิ่มเข้ามา จึงยาวอย่างน้อยสี่เท่าของเลขฐานสิบหก รูปแบบนี้มีไว้สำหรับดูบิตแต่ละบิต ไม่ได้มีไว้สำหรับจัดเก็บหรือส่งข้อมูล

ข้อความของฉันถูกส่งไปยังเซิร์ฟเวอร์หรือไม่

ไม่ถูกส่ง การเข้ารหัสทั้งหมดคำนวณด้วย JavaScript ในเบราว์เซอร์ของคุณ และข้อความจะไม่ออกจากอุปกรณ์ของคุณ