Fragen
Wo kodiere oder dekodiere ich?
Das Base64-Tool verarbeitet Text und Dateien in beide Richtungen, auch URL-sichere und ungepaddete Eingaben, und zeigt die dekodierten Bytes als Hex.
Alles über Base64, was sich nachzuschlagen lohnt, einschließlich der Einzeiler für jede Sprache.
| 0 A | 1 B | 2 C | 3 D | 4 E | 5 F | 6 G | 7 H |
| 8 I | 9 J | 10 K | 11 L | 12 M | 13 N | 14 O | 15 P |
| 16 Q | 17 R | 18 S | 19 T | 20 U | 21 V | 22 W | 23 X |
| 24 Y | 25 Z | 26 a | 27 b | 28 c | 29 d | 30 e | 31 f |
| 32 g | 33 h | 34 i | 35 j | 36 k | 37 l | 38 m | 39 n |
| 40 o | 41 p | 42 q | 43 r | 44 s | 45 t | 46 u | 47 v |
| 48 w | 49 x | 50 y | 51 z | 52 0 | 53 1 | 54 2 | 55 3 |
| 56 4 | 57 5 | 58 6 | 59 7 | 60 8 | 61 9 | 62 + | 63 / |
URL-sicher (RFC 4648 §5): 62 = -, 63 = _, meist ohne Padding. Padding-Zeichen: =.
Bytes: 01001000 01101001 00100001 "Hi!" 6-Bit: 010010 000110 100100 100001 Zeichen: S G k h "SGkh" "Hi" → 01001000 01101001 (16 Bit) → 010010 000110 1001(00) → "SGk" + "=" "H" → 8 Bit → 010010 00(0000) → "SA" + "=="
| Eingabelänge mod 3 = 0 | kein Padding |
| = 1 | 2 Zeichen + == |
| = 2 | 3 Zeichen + = |
| Ausgabegröße | ⌈n / 3⌉ × 4 (≈ +33 %) |
| Eingabegröße aus Ausgabe | Länge × 3 / 4 − Padding |
| MIME (RFC 2045) | Zeilen à 76 Zeichen, CRLF |
| PEM | Zeilen à 64 Zeichen |
| Base64 | A–Z a–z 0–9 + /; E-Mail, JSON, data:-URLs |
| Base64URL | - und _ statt + /; JWT, OAuth, Dateinamen |
| Base32 | A–Z 2–7; TOTP-Secrets, schreibungsunabhängig, +60 % |
| Base32hex | 0–9 A–V; sortiert numerisch (DNSSEC NSEC3) |
| Hex (Base16) | 0–9 a–f; +100 %, trivial zu lesen |
| Base58 | ohne 0 O I l; Bitcoin-Adressen |
| Base85 / Ascii85 | +25 %; PDF, git-Binär-Diffs |
| bcrypt-Base64 | ./A–Z a–z 0–9, andere Reihenfolge; nur in bcrypt-Hashes |
| base64 file; base64 -d | GNU coreutils (-w0 ohne Umbruch) |
| openssl base64 -A | OpenSSL (-A = eine Zeile) |
| echo -n 'text' | base64 | -n: kein Zeilenumbruch am Ende der Eingabe |
| base64.b64encode(b), b64decode(s) | Python; urlsafe_b64encode für URL-sicher |
| btoa(s), atob(s) | JS, nur Latin-1-Strings; für UTF-8 TextEncoder + fromCharCode oder Buffer in Node |
| Buffer.from(s).toString('base64'); Buffer.from(b64, 'base64') | Node.js (auch 'base64url') |
| base64.StdEncoding.EncodeToString(b) | Go; RawURLEncoding für URL-sicher ohne Padding |
| base64_encode(), base64_decode() | PHP |
| Base64.strict_encode64(s) | Ruby (encode64 bricht Zeilen um) |
| [Convert]::ToBase64String($bytes) | PowerShell |
| SELECT TO_BASE64('x'); encode('x','base64') | MySQL; PostgreSQL |
=, ein URL-sicherer String in einem strengen Decoder oder Zeilenumbrüche.data:-URL ist data:<mime>;base64,<daten>.Die Ergebnisse und Meldungen dieses Tools werden auf Englisch angezeigt.
Das Base64-Tool verarbeitet Text und Dateien in beide Richtungen, auch URL-sichere und ungepaddete Eingaben, und zeigt die dekodierten Bytes als Hex.