ตัวเข้ารหัส / ถอดรหัส Base62
ข้อความ
Base62
รายละเอียดทางเทคนิค
ตัวเข้ารหัส / ถอดรหัส Base62 ทำงานอย่างไร
เครื่องมือนี้ทำอะไร
Base62 เข้ารหัสข้อมูลไบนารีโดยใช้อักขระตัวเลขและตัวอักษร 62 ตัว (0-9, A-Z, a-z) และถอดรหัสสตริง Base62 กลับเป็นข้อความหรือเลขฐานสิบหก ผลลัพธ์มีเฉพาะอักขระที่ปลอดภัยสำหรับ URL โดยไม่มี padding และไม่มีสัญลักษณ์ '+', '/', หรือ '=' ดังนั้นจึงสามารถฝังลงใน URL และพารามิเตอร์คิวรีได้โดยตรงโดยไม่ต้องทำ percent-encoding
กรณีการใช้งานทั่วไปของนักพัฒนา
บริการย่อ URL (bit.ly, t.co, goo.gl ในอดีต) ใช้ Base62 เพื่อเข้ารหัส ID จำนวนเต็มที่เพิ่มขึ้นเรื่อย ๆ ให้เป็นสลักที่กะทัดรัดและแชร์ง่าย นักพัฒนาฝั่งแบ็กเอนด์สร้างตัวระบุแบบสั้นที่ไม่สื่อความหมายสำหรับโพสต์โซเชียล ทวีต และแอสเซ็ตที่อัปโหลด นักการตลาดติดตามแคมเปญด้วยพารามิเตอร์ UTM ที่เข้ารหัสด้วย Base62 ซึ่งดูสะอาดตากว่า Base64
รูปแบบข้อมูล ชนิด หรือรูปแบบย่อย
เครื่องมือนี้ใช้ลำดับอักขระ Base62 ที่พบบ่อยที่สุด: ตัวเลข 0-9 ตามด้วยตัวพิมพ์ใหญ่ A-Z แล้วตามด้วยตัวพิมพ์เล็ก a-z อิมพลีเมนเทชันต่าง ๆ อาจใช้ลำดับที่ต่างกัน (บางตัววางตัวพิมพ์เล็กก่อนตัวพิมพ์ใหญ่) ดังนั้นควรตรวจสอบความเข้ากันได้ของชุดอักขระเสมอก่อนแชร์ข้อมูลที่เข้ารหัสระหว่างระบบ เอาต์พุตจะแสดงทั้งสำหรับข้อความ UTF-8 และอินพุตไบต์แบบ hex ดิบ
ข้อผิดพลาดที่พบบ่อยและกรณีขอบ
Base62 ไม่มีมาตรฐาน — ลำดับอักขระแตกต่างกันไปตามไลบรารี (เครื่องมือนี้ใช้ 0-9, A-Z, a-z ตามคอนเวนชันของ npm `base-x`) ไบต์ศูนย์นำหน้าในข้อมูลไบนารีจะถูกเก็บไว้โดยตัวเข้ารหัส แต่สตริง Base62 ที่ขึ้นต้นด้วย '0' จะถอดรหัสได้ค่าเดียวกับสตริงที่ไม่มี — จึงไม่มีรูปแบบมาตรฐานแบบเดียว สำหรับการทำงานร่วมกันข้ามภาษา ให้ระบุชุดอักขระที่คุณใช้ให้ชัดเจน
เมื่อใดควรใช้เครื่องมือนี้แทนการเขียนโค้ด
ใช้เครื่องมือบนเบราว์เซอร์สำหรับการเข้ารหัสและถอดรหัสแบบครั้งเดียวขณะดีบักสลัก URL หรือ ID แบบสั้น ในโค้ด ให้เลือกใช้แพ็กเกจ npm `base-x` (JavaScript), `pybase62` หรือการแปลงที่เขียนเอง (Python) หรืออิมพลีเมนเทชัน Java อย่าง `Base62.io` — และควรกำหนดชุดอักขระให้ตายตัวในเทสต์เสมอ เพื่อไม่ให้การรีแฟกเตอร์ในอนาคตเปลี่ยนการเข้ารหัสแบบเงียบ ๆ