A bis C
Alphabet
Die Menge der Zeichen, die eine Kodierung schreibt, in Index-Reihenfolge. Standard-Base64 verwendet A-Z, a-z, 0-9, + und /, A steht also für 0 und / für 63. Siehe die Alphabet-Tabelle.
ASN.1
Abstract Syntax Notation One, eine Sprache zur Beschreibung von Datenstrukturen, verwendet von X.509-Zertifikaten, Schlüsseln und vielen Telekommunikationsprotokollen. ASN.1 legt die Struktur fest. Kodierregeln wie DER legen die Bytes fest.
Base16
Der Name für Hex in RFC 4648: Jedes Byte wird zu zwei Zeichen aus 0-9 A-F. Die Größe verdoppelt sich. Probieren Sie das Base16-Tool.
Base32
Eine Kodierung mit 32 Zeichen (A-Z und 2-7 in RFC 4648), die 5 Bytes in 8 Zeichen verwandelt, 60 % größer als die Eingabe. Alphabete ohne Unterscheidung von Groß- und Kleinschreibung machen sie passend für TOTP-Secrets und DNS-Namen. Probieren Sie den Base32-Encoder.
Base45
In RFC 9285 definiert, wandelt sie 2 Bytes in 3 Zeichen aus dem 45-Zeichen-Satz um, den QR-Codes im alphanumerischen Modus speichern. Das digitale COVID-Zertifikat der EU hat sie verwendet. Probieren Sie den Base45-Encoder.
Base58
Das Bitcoin-Alphabet mit 58 Zeichen: Base64 ohne 0, O, I, l, + und /. Es wandelt die gesamte Eingabe als eine große Zahl um, und jedes führende Nullbyte wird zu einer 1. Probieren Sie den Base58-Encoder.
Base58Check
Base58 mit einem Versionsbyte vorn und einer 4-Byte-Prüfsumme am Ende. Die Prüfsumme sind die ersten 4 Bytes von zweifach angewandtem SHA-256. Ältere Bitcoin-Adressen und private WIF-Schlüssel verwenden es. Siehe das Base58Check-Tool.
Base64
Eine Binär-zu-Text-Kodierung, die je 3 Bytes als 4 Zeichen aus einem 64-Zeichen-Alphabet schreibt und das Ende mit = auffüllt. Die Ausgabe ist etwa 33 % größer als die Eingabe. Beginnen Sie mit dem Encoder und dem Decoder, oder lesen Sie So funktioniert Base64.
Base64URL
Base64 mit - und _ anstelle von + und /, aus Abschnitt 5 von RFC 4648. Das Padding wird oft weggelassen. Verwendet in JWTs und URLs. Siehe Base64 vs. Base64URL und den Base64URL-Encoder.
Base85
Eine Familie von Kodierungen, die 4 Bytes als 5 Zeichen schreiben, 25 % Zuwachs. Ascii85 (Adobe, in PDF und PostScript), Z85 (ZeroMQ) und das von git verwendete Alphabet aus RFC 1924 sind die gängigen Varianten. Probieren Sie das Base85-Tool.
Base91
basE91, entwickelt von Joachim Henke, verwendet 91 druckbare ASCII-Zeichen und packt 13 oder 14 Bit in jedes Zeichenpaar. Damit liegt der Zuwachs zwischen etwa 14 % und 23 %, dem niedrigsten Wert hier, um den Preis eines Alphabets, das das doppelte Anführungszeichen und viele andere Satzzeichen enthält. Probieren Sie das Base91-Tool.
Basic Auth
HTTP-Basic-Authentifizierung (RFC 7617) sendet user:password in Base64 im Header Authorization: Aus Aladdin:open sesame wird Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==. Wer den Header sieht, kann ihn dekodieren, daher braucht Basic Auth HTTPS. Erzeugen oder lesen Sie einen solchen Header mit dem Basic-Auth-Generator und dem Decoder.
Binär-zu-Text-Kodierung (binary-to-text encoding)
Jedes Verfahren, das beliebige Bytes nur mit druckbaren Zeichen darstellt, damit die Daten Systeme überstehen, die für Text gebaut sind, etwa E-Mail, JSON oder URLs. Hex, Base32, Base64, Base85, uuencode und Quoted-printable sind allesamt Binär-zu-Text-Kodierungen. Ein Vergleich steht unter Base64 vs. Hex, Base32, Base58 und Base85.
BOM
Byte Order Mark, das Zeichen U+FEFF am Anfang einer Textdatei. In UTF-8 ist es EF BB BF (Base64 77u/), in UTF-16LE FF FE. Decoder, die nicht damit rechnen, zeigen es als  oder als verirrtes unsichtbares Zeichen an.
Kanonische Kodierung (canonical encoding)
Die eine „korrekte“ kodierte Form bestimmter Daten. Bei Base64 verlangt sie, dass die ungenutzten Bits vor dem Padding null sind (RFC 4648, Abschnitt 3.5): SGk/Pg== ist kanonisch, SGk/Ph== ergibt in toleranten Decodern dieselben Bytes, ist es aber nicht.
Zeichensatz (Charset)
Die Zeichenkodierung, die Text auf Bytes abbildet, etwa UTF-8, UTF-16LE oder Windows-1252. Base64 speichert Bytes; um Base64 zu Text zu dekodieren, muss man also wissen, in welchem Zeichensatz der Text gespeichert wurde. Eine falsche Annahme erzeugt Zeichensalat wie Café. Mit dem Tool Base64 in Text können Sie den Zeichensatz wechseln.
CRLF
Carriage Return plus Line Feed, die Bytes 0D 0A. MIME verlangt CRLF zwischen Base64-Zeilen, während Unix-Tools meist nur LF (0A) schreiben. Tolerante Decoder ignorieren beides, strenge lehnen es ab.
CSP-Nonce
Ein Zufallswert in einem Content-Security-Policy-Header (script-src 'nonce-…'), der nur Inline-Skripte mit demselben nonce-Attribut zulässt. Er wird in Base64 geschrieben, muss für jede Antwort neu sein und sollte mindestens 128 Bit Zufall enthalten. Erzeugen Sie einen mit dem CSP-Nonce-Generator.
D bis J
Data-URI
Eine URL, die die Daten selbst enthält, statt auf sie zu verweisen, definiert in RFC 2397: data:image/png;base64,iVBORw0KGgo…. Nützlich für kleine Bilder und Icons in HTML und CSS. Siehe den Data-URI-Generator, den Parser und Performance von Data-URIs.
Deflate
Der Kompressionsalgorithmus (RFC 1951) in ZIP, gzip, zlib und PNG. „Raw Deflate“ bezeichnet den komprimierten Datenstrom ohne Header oder Prüfsumme drumherum. Komprimieren und kodieren Sie mit dem zlib- und Deflate-Tool.
DER
Distinguished Encoding Rules, die strikte binäre Kodierung von ASN.1-Strukturen nach ITU-T X.690. Zertifikate und Schlüssel sind DER-Bytes. Eine DER-Struktur beginnt meist mit 30 (einer SEQUENCE), weshalb PEM-Inhalte mit M beginnen, oft mit MII.
gzip
Ein Dateiformat (RFC 1952), das Deflate-komprimierte Daten mit einem 10-Byte-Header und einer CRC-32-Prüfsumme umgibt. Es beginnt mit den Bytes 1F 8B, gzip in Base64 beginnt also mit H4sI. Verwenden Sie gzip und Base64 zum Komprimieren und gzip-Base64 dekodieren für den Rückweg.
Hex
Hexadezimal: Jedes Byte wird als zwei Ziffern aus 0-9 und a-f geschrieben, zum Beispiel 48 65 6c 6c 6f für Hello. Es lässt sich Byte für Byte leicht lesen und ist doppelt so groß wie die Eingabe. Umwandeln können Sie mit Base64 in Hex und Hex in Base64.
JWE
JSON Web Encryption (RFC 7516). Ein verschlüsseltes Token, dessen kompakte Form aus fünf Base64URL-Teilen besteht: Header, verschlüsselter Schlüssel, Initialisierungsvektor, Chiffretext und Authentifizierungs-Tag. Anders als bei einem JWS lässt sich der Inhalt ohne Schlüssel nicht lesen.
JWS
JSON Web Signature (RFC 7515). Eine signierte Nachricht mit drei Base64URL-Teilen: Header, Payload und Signatur. Die Payload kann jeder lesen. Die Signatur beweist nur, dass sie nicht verändert wurde.
JWT
JSON Web Token (RFC 7519), eine Menge von Claims in JSON, transportiert in einem JWS oder JWE. Die meisten JWTs, die Ihnen begegnen, sind JWS-Tokens, die mit eyJ beginnen. Dekodieren Sie eines mit dem JWT-Decoder, erstellen Sie eines mit dem JWT-Encoder und lesen Sie Base64 in JWT.
L bis Q
Zeilenumbruch (line wrapping)
Das Einfügen von Zeilenumbrüchen in lange Base64-Ausgaben. MIME bricht nach höchstens 76 Zeichen um, PEM nach genau 64. GNU base64 bricht standardmäßig nach 76 um (-w 0 schaltet das ab), openssl base64 nach 64 (-A schaltet das ab). Der MIME-Encoder bricht für Sie um.
Magic Number
Eine feste Bytefolge am Anfang einer Datei, die ihr Format kennzeichnet, etwa %PDF- für PDF oder 89 50 4E 47 für PNG. Weil Base64 jeweils 3 Bytes kodiert, werden Magic Numbers zu erkennbaren Base64-Präfixen. Siehe Häufige Base64-Präfixe und Base64 in Datei.
MIME
Multipurpose Internet Mail Extensions (RFC 2045 bis 2049), der Standard, mit dem E-Mails Anhänge und Nicht-ASCII-Text transportieren können. Sein Content-Transfer-Encoding base64 ist der Weg, auf dem Anhänge in einer reinen Textnachricht reisen. Siehe Base64 in E-Mails und den EML-Decoder.
Padding
Die =-Zeichen am Ende von Base64, die die letzte 4-Zeichen-Gruppe auffüllen: == nach 1 übrig gebliebenen Byte, = nach 2. Manche Formate lassen es weg. Lesen Sie die Anleitung zum Padding.
PEM
Privacy-Enhanced Mail, ursprünglich ein Standard für sichere E-Mail (RFC 1421). Heute bezeichnet der Name dessen Textformat für Schlüssel und Zertifikate: Base64 von DER-Bytes zwischen den Zeilen -----BEGIN CERTIFICATE----- und -----END CERTIFICATE-----, umgebrochen nach 64 Zeichen (RFC 7468). Sehen Sie sich eines mit dem Zertifikat-Decoder an.
Quoted-printable
Die andere MIME-Transferkodierung. Sie lässt druckbares ASCII unverändert und schreibt andere Bytes als = plus zwei Hex-Ziffern, aus Café in UTF-8 wird also Caf=C3=A9. Effizient bei überwiegend ASCII-Text, verschwenderisch bei Binärdaten. Probieren Sie das Quoted-printable-Tool.
R bis Z
Radix-64
Der Name, den OpenPGP für seine ASCII-Armor verwendet: Standard-Base64 plus eine optionale Prüfsummenzeile, die mit = beginnt und eine CRC-24 in Base64 enthält. Siehe Base64-Standards.
SRI
Subresource Integrity, eine Browserfunktion, die ein heruntergeladenes Skript oder Stylesheet gegen einen Hash im Attribut integrity prüft, geschrieben als Algorithmusname plus Base64-Digest: sha384-…. Unterstützt werden SHA-256, SHA-384 und SHA-512. Erzeugen Sie Werte mit dem SRI-Hash-Generator.
uuencode
Unix-to-Unix Encoding, ein Binär-zu-Text-Format, älter als MIME. Jede Zeile beginnt mit einem Längenzeichen, und die Datenzeichen stammen aus ASCII 32 bis 95, es enthält also Satzzeichen, die das Base64 von MIME vermeidet. Siehe das uuencode-Tool.
UTF-8
Die vorherrschende Textkodierung im Web. ASCII-Zeichen belegen ein Byte, andere Zeichen zwei bis vier. Wenn ein Tool „Text in Base64“ sagt, meint es fast immer UTF-8-Bytes in Base64: é ist C3 A9. Siehe UTF-8 in Base64.
UTF-16LE
UTF-16 mit dem niederwertigen Byte zuerst, das interne String-Format von Windows und .NET. ASCII-Text in UTF-16LE hat nach jedem Zeichen ein Nullbyte, aus Hello wird also SABlAGwAbABvAA==, voller A. -EncodedCommand von PowerShell erwartet es. Siehe UTF-16 in Base64 und den PowerShell-Decoder.
Z85
Die Base85-Variante von ZeroMQ (ZeroMQ RFC 32). Sie kodiert 4 Bytes als 5 Zeichen, vermeidet Anführungszeichen und Backslash, damit die Ausgabe in String-Literalen im Quellcode stehen kann, und verlangt Eingaben in Vielfachen von 4 Bytes. Probieren Sie das Z85-Tool.
zlib
Eine dünne Hülle (RFC 1950) um Deflate-Daten: ein 2-Byte-Header und eine Adler-32-Prüfsumme. Der Header beginnt meist mit 78, zlib-Daten in Base64 beginnen daher je nach Kompressionsstufe mit eJ, eN, eF oder eA. Verwenden Sie das zlib-Tool.
Häufige Fragen
Was ist der Unterschied zwischen Kodierung und Verschlüsselung?
Eine Kodierung ändert nur, wie Daten geschrieben werden, und jeder kann sie umkehren. Eine Verschlüsselung braucht zum Umkehren einen Schlüssel. Base64 ist eine Kodierung. Siehe Kodierung vs. Verschlüsselung.
Ist Base64 dasselbe wie Radix-64?
Radix-64 ist der Name, den OpenPGP für Base64 mit einer optionalen CRC-24-Prüfsummenzeile verwendet. Alphabet und Bit-Anordnung sind dieselben wie beim Standard-Base64.
Was ist der Unterschied zwischen PEM und DER?
DER ist die binäre Kodierung eines Zertifikats oder Schlüssels. PEM sind dieselben DER-Daten in Base64, nach 64 Zeichen umgebrochen, zwischen den Zeilen -----BEGIN und -----END. Umwandeln können Sie mit PEM in DER und DER in PEM.