Base64
Base64 (Binär-zu-Text-Kodierung)
Ein Kodierungsschema, das Binärdaten in eine Textzeichenkette mit 64 druckbaren ASCII-Zeichen (A-Z, a-z, 0-9, +, /) umwandelt, sodass Binärinhalte sicher in textbasierte Formate wie HTML, CSS, JSON und E-Mail eingebettet werden können.
Technisches Detail
Base64 gruppiert je 3 Eingabebytes (24 Bits) in 4 Ausgabezeichen (je 6 Bits) und verwendet =-Padding, wenn die Eingabelänge kein Vielfaches von 3 ist. Dies ergibt einen Overhead von ~33% gegenüber rohen Binärdaten. JavaScript stellt btoa() (String zu Base64) und atob() (Base64 zu String) bereit, die nur mit Latin-1 arbeiten; für Unicode: btoa(unescape(encodeURIComponent(str))). Die modernere API verwendet TextEncoder + Uint8Array. Data-URIs verwenden Base64 für die Inline-Bildeinbettung: data:image/png;base64,iVBOR.... Base64URL (RFC 4648 §5) ersetzt + durch - und / durch _ für URL-sichere Kodierung und wird in JWT und anderen Web-Token verwendet.
Beispiel
```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);
```