Was ist Base64-Codierer / Decodierer?
Base64 ist ein Binär-zu-Text-Codierungsschema, das Binärdaten mit 64 druckbaren ASCII-Zeichen (A-Z, a-z, 0-9, + und /) darstellt. Es wird in der gesamten Webentwicklung, bei E-Mails, in der Kryptografie und bei der Datenübertragung verwendet, um Binärdaten sicher über Kanäle zu transportieren, die nur Text unterstützen. Unser Base64-Encoder und -Decoder wandelt sofort zwischen reinem Text und Base64-codierten Zeichenketten um – ohne Größenbeschränkung und mit vollständiger Unicode-Unterstützung.
Base64 ist Codierung, nicht Verschlüsselung. Es schützt Daten nicht vor dem Lesen – es ändert lediglich ihre Darstellung. Jede Base64-Zeichenkette lässt sich von jedem, der Zugriff darauf hat, wieder in die Originaldaten decodieren. Es wird aus Kompatibilitätsgründen genutzt: Bilder als Data-URIs in HTML einbetten, API-Zugangsdaten für die HTTP-Basic-Authentifizierung codieren, Binärdateien per MIME über E-Mail übertragen und binäre Blobs in JSON oder XML speichern, die nur Text enthalten dürfen.
Base64 zu verstehen ist grundlegend für die moderne Webentwicklung. JWT-Tokens, Data-URIs, Basic-Auth-Header, SAML-Assertions und PEM-Zertifikatsdateien verwenden alle Base64-Codierung. Eine Entwicklerin, die Base64-Zeichenketten nicht schnell codieren oder decodieren kann, verliert Zeit mit dem Schreiben von Einmal-Skripten oder der Suche nach den richtigen Kommandozeilen-Flags. Unser Tool macht das sofort und von jedem Browser aus zugänglich.
Anwendungsfälle
Hier sind die häufigsten Arten, wie Base64-Codierer / Decodierer täglich genutzt wird.
API-Authentifizierungs-Header
Die HTTP-Basic-Authentifizierung überträgt Zugangsdaten als „benutzer:passwort“ Base64-codiert im Authorization-Header: Authorization: Basic dXNlcjpwYXNzd29yZA==. Verwenden Sie den Encoder, um den korrekten Header-Wert für manuelle API-Tests mit curl oder Postman zu erzeugen, ohne Code schreiben zu müssen. Verwenden Sie den Decoder, um Zugangsdaten aus einem bestehenden Authorization-Header zu lesen und zu prüfen, wenn Sie Authentifizierungsprobleme debuggen.
Bilder in HTML und CSS einbetten
Kleine Bilder – Symbole, Logos, Inline-SVGs – lassen sich per Base64-Codierung direkt als Data-URIs in HTML oder CSS einbetten: src="data:image/png;base64,...". Das spart eine HTTP-Anfrage für kleine Assets, die sonst eine eigene Datei erfordern würden. Der Kompromiss ist eine größere HTML-Dateigröße (Base64 erhöht die Größe um ~33 %). Bei Symbolen unter 1 KB überwiegt der Vorteil der eingesparten Anfrage in der Regel die Größenkosten. Unser Encoder deckt diesen Anwendungsfall direkt ab.
JWT-Token-Inspektion
JSON Web Tokens bestehen aus drei durch Punkte getrennten Base64URL-codierten Segmenten: Header.Payload.Signatur. Header und Payload enthalten JSON-Daten, die sich ohne den geheimen Schlüssel decodieren lassen. Verwenden Sie unseren Decoder auf den ersten beiden Segmenten (vor und zwischen den Punkten), um Algorithmus, Aussteller, Subjekt, Claims, Ausstellungszeit und Ablauf des Tokens zu inspizieren – unverzichtbar zum Debuggen von JWT-Authentifizierungsproblemen ohne spezialisierten JWT-Inspektor.
Codierung von E-Mail-Anhängen
E-Mail-Protokolle (SMTP, IMAP) übertragen Binärdateien als Base64 innerhalb des MIME-Multipart-Nachrichtenformats, da die E-Mail-Infrastruktur für 7-Bit-ASCII-Text ausgelegt wurde. An E-Mails angehängte Bilder, PDFs und Dokumente werden im rohen E-Mail-Quelltext Base64-codiert. Diese Codierung zu verstehen ist unerlässlich, um E-Mail-Versandcode zu schreiben, Zustellprobleme zu debuggen und rohe E-Mail-Nachrichten in Datenverarbeitungs-Pipelines zu parsen.
Speicherung von Konfiguration und Secrets
Base64-Codierung wird häufig verwendet, um Binärdaten in Umgebungsvariablen und Konfigurationsdateien zu speichern, die nur Text unterstützen. TLS-Zertifikate (PEM-Format), SSH-Schlüssel, binäre Tokens und binäre Konfigurationswerte werden Base64-codiert in .env-Dateien und Kubernetes-Secrets abgelegt. kubectl get secret gibt standardmäßig Base64-codierte Werte aus: Unser Decoder ist ein schneller Weg, die zugrunde liegenden Daten zu inspizieren, ohne sie auf der Kommandozeile durch base64 -d zu leiten.
Beispiele
API-Zugangsdaten codieren
Erzeugen Sie aus Benutzername und Passwort einen HTTP-Basic-Auth-Header-Wert.
admin:secretpassword123 YWRtaW46c2VjcmV0cGFzc3dvcmQxMjM= JWT-Payload decodieren
Decodieren Sie das zweite Segment eines JWT, um seine Claims zu inspizieren.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0= {"sub":"1234567890","name":"John Doe"} JSON für eine URL codieren
Codieren Sie ein JSON-Objekt als Base64 zur Verwendung in einem Cookie oder URL-Parameter.
{"userId": 42, "role": "admin"} eyJ1c2VySWQiOiA0MiwgInJvbGUiOiAiYWRtaW4ifQ== Tipps zur Verwendung von Base64-Codierer / Decodierer
- Base64 vergrößert die Daten um ~33 %: Ein 1-MB-Bild wird codiert zu ~1,33 MB. Berücksichtigen Sie das beim Inline-Einbetten von Bildern.
- Base64URL (in JWTs verwendet) ersetzt + durch - und / durch _ für URL-sichere Ausgabe. Standard-Base64 und Base64URL sind nicht austauschbar.
- Kubernetes-Secrets speichern Daten als Base64. Verwenden Sie den Decoder, um Secret-Werte zu inspizieren: echo "dmFsdWU=" | base64 -d – oder nutzen Sie unser Tool.
- Gehen Sie nie davon aus, dass Base64-Daten privat sind. Sie sind trivial umkehrbar. Behandeln Sie eine Base64-Zeichenkette mit derselben Vertraulichkeit wie ihren decodierten Inhalt.
- PEM-Zertifikatsdateien (.pem, .crt) sind Base64-codierte DER-Zertifikate, eingefasst in -----BEGIN CERTIFICATE------Header.
Häufig gestellte Fragen
Ist Base64 dasselbe wie Verschlüsselung?
Nein. Base64 ist ein Codierungsschema – es ändert die Darstellung der Daten, bietet aber null Vertraulichkeit. Jeder kann eine Base64-Zeichenkette in Millisekunden mit einem beliebigen Base64-Decoder wieder in die Originaldaten decodieren. Verschlüsselung dagegen wandelt Daten in Geheimtext um, der sich ohne den richtigen Schlüssel nicht umkehren lässt. Verwenden Sie Base64 nie zum Schutz sensibler Daten. Nutzen Sie Verschlüsselung (AES-256, RSA, TLS) für Vertraulichkeit und Base64 nur für Kompatibilität – das Codieren von Binärdaten für reine Textübertragungskanäle.
Warum endet Base64 mit „=“-Auffüllung?
Base64 codiert 3 Eingabebytes (24 Bit) in 4 Base64-Zeichen (4 × 6 Bit = 24 Bit). Ist die Eingabelänge nicht durch 3 teilbar, werden „=“-Auffüllzeichen hinzugefügt, damit die Länge der codierten Zeichenkette durch 4 teilbar ist. Ein „=“ bedeutet ein Byte Auffüllung; „==“ bedeutet zwei Bytes. Manche Anwendungen (wie JWTs und Base64URL) lassen die Auffüllung weg, da der Decoder die Länge aus der Zeichenkettenlänge ableiten kann. Standard-Base64 enthält immer Auffüllung.
Was ist der Unterschied zwischen Base64 und Base64URL?
Standard-Base64 verwendet die Zeichen A-Z, a-z, 0-9, + und /. Die Zeichen + und / sind in URLs besonders: Sie werden in der Prozentcodierung zu %2B und %2F, was Standard-Base64-Zeichenketten in URLs umständlich macht. Base64URL wurde für URLs entworfen: Es ersetzt + durch - und / durch _, um Zeichenketten zu erzeugen, die in URL-Pfaden, Query-Strings und Dateinamen ohne Prozentcodierung sicher sind. JWT-Tokens, OAuth-Tokens und URL-Parameter verwenden Base64URL.
Warum macht Base64 Daten 33 % größer?
Base64 wandelt je 3 Eingabebytes (24 Bit) in 4 Zeichen um (jedes steht für 6 Bit). Das Verhältnis beträgt 4/3 ≈ 1,33, sodass aus je 3 Bytes 4 Zeichen werden – eine Größenzunahme von 33 % unabhängig vom Dateninhalt. Dieser Overhead ist der Preis der Binär-zu-Text-Codierung. Wenn Sie Speicher oder Bandbreite für Base64-codierten Inhalt planen, multiplizieren Sie die ursprüngliche Binärgröße mit 1,34, um die codierte Größe abzuschätzen (die zusätzlichen 0,01 berücksichtigen mögliche Auffüllung und Zeilenumbrüche).
Kann Base64 jede Art von Daten codieren?
Ja. Base64 kann beliebige Binärdaten codieren: Bilder, Audio, Video, ausführbare Dateien, komprimierte Archive, kryptografische Schlüssel und beliebige Bytefolgen. Die Codierung ist inhaltsunabhängig – sie behandelt jede Eingabe als rohe Bytes. Bei Texteingabe konvertiert das Tool zuerst in UTF-8-Bytes und codiert diese dann in Base64. Bei Nicht-ASCII-Text (Chinesisch, Arabisch, Emoji) bedeutet das, dass die Base64-Zeichenkette die UTF-8-Byte-Darstellung codiert, nicht die ursprünglichen Unicode-Codepunkte.
Was ist ein Data-URI und wie ermöglicht Base64 ihn?
Ein Data-URI ist ein URI-Schema, das Daten direkt in die URI-Zeichenkette einbettet, anstatt auf eine externe Ressource zu verweisen: data:[medientyp][;base64],daten. Beispiel: src="data:image/png;base64,iVBORw0KGgo...". Der base64-Parameter zeigt an, dass der Datenteil Base64-codiert ist statt prozentcodierter Klartext. Data-URIs erlauben das Einbetten von Bildern, Schriften und anderen Assets direkt in HTML oder CSS ohne separate HTTP-Anfragen, was die Ladeleistung bei kleinen Assets verbessern kann.