เครื่องมือแปลง Base64
- ไม่ต้องสมัครสมาชิก
- ฟรี 100%
- ไม่เก็บข้อมูลบนเซิร์ฟเวอร์
เข้ารหัสข้อความเป็น Base64 หรือถอดกลับ ระบบจะแปลงข้อความเป็นไบต์ UTF-8 ก่อน ภาษาไทย อิโมจิ และภาษาอื่นจึงแปลงไปกลับได้ครบ ส่วนการถอดรหัสค่อนข้างยืดหยุ่น รับข้อมูลที่ไม่มี padding ข้อมูลที่ตัดขึ้นบรรทัดใหม่ และรับได้ทั้งชุดอักขระมาตรฐานและแบบ URL-safe
ชุดอักขระมาตรฐานกับแบบ URL-safe
Base64 ต้องใช้สัญลักษณ์ 64 ตัว หกสิบสองตัวแรกไม่มีใครเถียง คือ
A–Z, a–z, 0–9 ส่วนสองตัวสุดท้ายคือจุดที่สองแบบต่างกัน
เพราะตัวที่นึกออกก่อนดันมีความหมายอยู่แล้วใน URL
| มาตรฐาน | URL-safe | |
|---|---|---|
| สัญลักษณ์ที่ 62 | + | - |
| สัญลักษณ์ที่ 63 | / | _ |
| Padding | เติม = ให้ครบชุดละ 4 | ปกติจะตัดทิ้ง |
| ใช้ใน URL ได้ไหม | ไม่ได้: + กลายเป็นช่องว่าง / ตัด path | ได้ |
| เจอได้ที่ไหน | อีเมล ไฟล์ PEM data: URI | JWT พารามิเตอร์ใน URL ชื่อไฟล์ |
การถอดรหัสที่นี่รับได้ทั้งสองชุดไม่ว่าจะติ๊กช่องหรือไม่ และเติม padding ที่ขาดกลับให้ เพราะข้อมูลที่คัดลอกมาจาก JWT หรือไฟล์ PEM มักไม่มีทั้งสองอย่าง
ทำไมผลลัพธ์ถึงใหญ่ขึ้นหนึ่งในสาม
Base64 เขียนข้อมูลทุก 3 ไบต์ใหม่เป็น 4 ตัวอักษร ผลลัพธ์จึงมีขนาดราว 133% ของข้อมูลเดิมเสมอ บวกอักขระ padding อีกไม่เกินสองตัว
3 ไบต์ → 4 ตัวอักษร
100 KB → ประมาณ 137 KB
1 MB → ประมาณ 1.37 MB
นี่คือราคาของรูปแบบนี้ ไม่ใช่ความไม่มีประสิทธิภาพ Base64 มีไว้เพื่อส่งข้อมูลไบนารี
ผ่านช่องทางที่รับได้แต่ข้อความ และขนาดที่โตขึ้นคือสิ่งที่แลกมา นี่จึงเป็นเหตุผลที่
การฝังรูปใหญ่ ๆ เป็น data: URI ใน CSS มักเป็นความคิดที่ไม่ดี
เพราะไฟล์โตขึ้นหนึ่งในสามและแคชแยกไม่ได้
Base64 ไม่ใช่การเข้ารหัสลับ
เรื่องนี้ควรพูดตรง ๆ เพราะคนสับสนกันบ่อยมาก Base64 คือการแปลงรูปแบบที่ย้อนกลับได้ และไม่มีกุญแจ ใครที่อ่านสตริงที่แปลงแล้วได้ ก็อ่านข้อมูลต้นฉบับได้ และเบราว์เซอร์ทุกตัวมีตัวถอดรหัสติดมาอยู่แล้ว
การเอารหัสผ่าน API key หรือ token มาแปลงเป็น Base64 ช่วยกันได้แค่สายตาที่มองผ่าน ๆ เท่านั้น ถ้ามันต้องเป็นความลับจริง สิ่งที่ต้องใช้คือการเข้ารหัสลับ พร้อมกุญแจที่เก็บไว้คนละที่กับข้อมูลที่แปลงแล้ว
คำถามที่พบบ่อย
รองรับภาษาไทยและอิโมจิไหม
รองรับ ระบบจะแปลงข้อความเป็นไบต์ UTF-8 ก่อนเข้ารหัส ฟังก์ชัน btoa() ที่มากับเบราว์เซอร์จะ error เมื่อเจอตัวอักษรนอก Latin-1 เครื่องมือแปลง Base64 หลายตัวจึงพังตั้งแต่ตัวอักษรไทยตัวแรก
โหมด URL-safe มีไว้ทำอะไร
Base64 มาตรฐานใช้ + และ / ซึ่งมีความหมายอยู่แล้วใน URL ชุด URL-safe จะใช้ - และ _ แทน และตัด padding ออก ส่วนการถอดรหัสรับได้ทั้งสองแบบไม่ว่าจะติ๊กช่องนี้หรือไม่
ถอดรหัส Base64 ที่ไม่มี padding หรือมีการขึ้นบรรทัดได้ไหม
ได้ทั้งสองแบบ Base64 ที่คัดลอกมาจากไฟล์ PEM ส่วนหัวอีเมล หรือ JWT มักถูกตัดบรรทัดหรือไม่มี padding ระบบจึงข้ามช่องว่างและเติม padding กลับให้
ข้อมูลของฉันถูกอัปโหลดไหม
ไม่ การเข้ารหัสและถอดรหัสเกิดขึ้นในเบราว์เซอร์ของคุณ และนโยบายความปลอดภัยของเว็บกำหนด connect-src ‘none’ เบราว์เซอร์จึงบล็อกการเรียกเครือข่ายจากหน้านี้