การเข้ารหัส Base64: คู่มือฉบับสมบูรณ์
การเข้ารหัส Base64 เป็นเทคนิคพื้นฐานในคอมพิวเตอร์ที่แปลงข้อมูลไบนารีเป็นข้อความ ASCII แม้ว่าแนวคิดอาจดูเรียบง่าย แต่การเข้าใจว่าเมื่อไหร่และอย่างไรที่จะใช้ Base64 อย่างถูกต้องมีความสำคัญสำหรับนักพัฒนาเว็บ ผู้เชี่ยวชาญด้านความปลอดภัย และทุกคนที่ทำงานกับการส่งข้อมูล
Base64 คืออะไร?
Base64 เป็นแผนการเข้ารหัสไบนารีเป็นข้อความที่แสดงข้อมูลไบนารีโดยใช้ชุดของอักขระ ASCII 64 ตัวที่สามารถพิมพ์ได้ ชื่อมาจากอักขระ 64 ตัวที่ใช้: A-Z (26 ตัว), a-z (26 ตัว), 0-9 (10 ตัว), และ + และ / (พร้อม = สำหรับการเติม) วัตถุประสงค์หลักของ Base64 คือการเข้ารหัสข้อมูลไบนารีสำหรับการส่งที่ปลอดภัยผ่านระบบที่ใช้ข้อความ อีเมล URL และ JSON ถูกออกแบบมาสำหรับข้อความและสามารถทำให้ข้อมูลไบนารีเสียหายได้ Base64 แปลงไบนารีเป็นข้อความที่ปลอดภัย Base64 ใช้ข้อมูลอินพุตทุก 3 ไบต์ (24 บิต) และแปลงเป็นอักขระ Base64 4 ตัว (6 บิตต่อตัว) นี่หมายความว่าขนาดเพิ่มขึ้นประมาณ 33% การเติมด้วย = จัดการกับอินพุตที่ไม่ใช่ทวีคูณของ 3 Base64 ไม่ใช่การบีบอัด—มันเพิ่มขนาด ไม่ใช่การเข้ารหัส—ทุกคนสามารถถอดรหัสได้ทันที มันเป็นเพียงการแปลงรูปแบบเพื่อความปลอดภัยของอักขระ
กรณีการใช้งานทั่วไป
Data URI ฝังรูปภาพโดยตรงใน HTML/CSS: <img src="data:image/png;base64,...">. สิ่งนี้ลดคำขอ HTTP สำหรับรูปภาพขนาดเล็กแต่เพิ่มขนาด JSON API ใช้ Base64 สำหรับข้อมูลไบนารีเช่นรูปภาพหรือไฟล์ที่อัปโหลด สิ่งที่แนบมากับอีเมลใช้ Base64 (MIME) สำหรับไฟล์ไบนารี HTTP Basic Authentication เข้ารหัสข้อมูลประจำตัวใน Base64 โทเค็น JWT ใช้การเข้ารหัส Base64URL สำหรับส่วนหัว payload และลายเซ็น localStorage ของเบราว์เซอร์เก็บข้อมูลที่เข้ารหัส Base64 ไบนารีเนื่องจากรองรับเฉพาะสตริงเท่านั้น Base64 เหมาะสมสำหรับการฝัง การส่ง และการทำให้เป็นอนุกรม—ไม่ใช่สำหรับความปลอดภัย
ภาระของ Base64
Base64 แปลงทุก 3 ไบต์เป็น 4 อักขระ: เพิ่มขนาด 33.33% ไฟล์ 1 MB กลายเป็น 1.33 MB พิจารณาภาระนี้เมื่อเลือกใช้ Base64 ภาระที่ยอมรับได้: ไอคอนเล็กๆ ที่ต่ำกว่า 10-20 KB, SVG, สินทรัพย์ที่สำคัญ, สิ่งที่แนบมากับอีเมล, payload ของ API ที่ความเรียบง่ายสำคัญ ภาระที่มีปัญหา: รูปภาพขนาดใหญ่, API ที่มีความถี่สูง, มือถือที่มีแบนด์วิดท์จำกัด, การจัดเก็บขนาดใหญ่ การบีบอัดสามารถชดเชยภาระบางส่วน ข้อพิจารณาการแคชมีความสำคัญ—Base64 แบบอินไลน์ไม่สามารถแคชแยกต่างหากได้
ลองใช้เครื่องมือ
เข้ารหัส/ถอดรหัส Base64
เรียนรู้เพิ่มเติม
คำถามที่พบบ่อย
เข้ารหัส/ถอดรหัส Base64
คำถามที่พบบ่อย →