Base64
Base64 Encoding
Base64 คือรูปแบบการเข้ารหัสที่แปลงข้อมูลไบนารี (เช่น รูปภาพ ไฟล์) เป็นข้อความ ASCII ที่ประกอบด้วยอักขระ 64 ตัว (A-Z, a-z, 0-9, +, /) ช่วยให้สามารถส่งข้อมูลไบนารีผ่านช่องทางที่รองรับเฉพาะข้อความ
รายละเอียดทางเทคนิค
Base64 ถูกกำหนดใน RFC 4648 ทำงานโดยจับกลุ่มข้อมูลทุก 3 ไบต์ (24 บิต) แล้วแบ่งเป็น 4 กลุ่มของ 6 บิต แต่ละกลุ่มแมปกับอักขระ 1 ตัว ข้อมูลที่เข้ารหัสจะมีขนาดประมาณ 133% ของต้นฉบับ (อัตราส่วน 4:3) ใช้ padding ด้วยอักขระ = เพื่อให้ความยาวหารด้วย 4 ลงตัว Base64url ใช้ - แทน + และ _ แทน / สำหรับ URL-safe
ตัวอย่าง
```javascript
// Encode string to Base64
const encoded = btoa('Hello, World!'); // 'SGVsbG8sIFdvcmxkIQ=='
// Decode Base64 to string
const decoded = atob('SGVsbG8sIFdvcmxkIQ=='); // 'Hello, World!'
// File to Base64 Data URI
const reader = new FileReader();
reader.onload = () => console.log(reader.result);
// → 'data:image/png;base64,iVBORw0KGgo...'
reader.readAsDataURL(file);
```