Base64 Encoder & Decoder
แปลงข้อความและไฟล์เป็น Base64 และแปลงกลับ จัดการ Unicode ได้ถูกต้อง รองรับ base64url แบบ URL-safe และบอกเหตุผลที่ชัดเจนเมื่อข้อมูลไม่ถูกต้อง
ทำงานในเบราว์เซอร์ไม่ต้องสมัครไม่มีการอัปโหลด
วิธีใช้ Base64 เข้ารหัส / ถอดรหัส
- เลือก เข้ารหัส หรือ ถอดรหัส
- พิมพ์หรือวางข้อมูลของคุณ ผลลัพธ์จะอัปเดตทันทีที่คุณพิมพ์
- สำหรับ URL, JWT และชื่อไฟล์ ให้ติ๊ก URL-safe เพื่อใช้
-และ_และเลือกตัด padding=ออกได้ - หากต้องการฝังรูปภาพหรือฟอนต์ ให้คลิก เข้ารหัสไฟล์ และเปิด ผลลัพธ์แบบ data URI ไว้
- คัดลอกผลลัพธ์ หรือใช้ สลับ เพื่อส่งกลับเข้าไปในทิศทางตรงข้าม
Base64 ทำงานอย่างไร
Base64 แทนข้อมูลไบนารีด้วยอักขระ ASCII ที่พิมพ์ได้ 64 ตัว: A-Z, a-z, 0-9, + และ / ข้อมูลขาเข้าทุก 3 ไบต์จะกลายเป็น 4 อักขระ ข้อมูลที่เข้ารหัสแล้วจึงใหญ่ขึ้นประมาณ 33% เมื่อความยาวข้อมูลไม่ใช่ผลคูณของ 3 จะมีเครื่องหมาย = หนึ่งหรือสองตัวเติมท้ายผลลัพธ์ Base64 เป็น การเข้ารหัสรูปแบบ (encoding) ไม่ใช่การเข้ารหัสลับ (encryption): ใครก็ถอดรหัสได้
Base64 มาตรฐาน vs. base64url
อักขระ + และ / มีความหมายพิเศษใน URL และ path ของไฟล์ ชุดอักขระแบบ URL-safe จาก RFC 4648 §5 จึงแทนด้วย - และ _ และมักไม่ใส่ padding JWT, พารามิเตอร์ OAuth หลายตัว และ cloud API บางตัวใช้ base64url ตัวถอดรหัสที่นี่รองรับทั้งสองแบบโดยอัตโนมัติ
Unicode และกับดักของ btoa()
ในเบราว์เซอร์ btoa("café") ทำงานได้ แต่ btoa("日本") จะเกิดข้อผิดพลาด เพราะ btoa รับเฉพาะ Latin-1 วิธีที่ถูกต้องคือแปลงข้อความเป็นไบต์ UTF-8 ก่อน ซึ่งเครื่องมือนี้ทำให้ ใน JavaScript: btoa(String.fromCharCode(...new TextEncoder().encode(text))) หรือ Buffer.from(text).toString('base64') ใน Node.js
การใช้งานทั่วไป
- Data URI สำหรับรูปภาพและฟอนต์ขนาดเล็กใน CSS หรือ HTML
- เฮดเดอร์ HTTP Basic authentication (
user:passwordที่เข้ารหัสแล้ว) - ไฟล์แนบไบนารีใน JSON payload และอีเมล (MIME)
- Kubernetes Secrets ซึ่งเก็บค่าเป็น Base64