Zum Inhalt springen
Favoriten

Base64-Decoder

Aktualisiert:

Dekodieren Sie einen Base64-String und betrachten Sie den resultierenden Text. Fügen Sie den kodierten Inhalt in das Feld „Base64-String“ ein, um die dekodierte Ausgabe zu sehen.

Base64-zu-Text-Dekodierwerkzeug

Eingabefelder
Wenn aktiviert, wird das Ergebnis automatisch aktualisiert, sobald Sie einen Wert ändern.

Formel des Base64-Decoders

Formel
\[ b_1=4v_1+\left\lfloor\frac{v_2}{16}\right\rfloor,\quad b_2=16(v_2\bmod16)+\left\lfloor\frac{v_3}{4}\right\rfloor,\quad b_3=64(v_3\bmod4)+v_4 \]

Wobei gilt:

  • \(v_1,v_2,v_3,v_4\) — die Werte von 0 bis 63, die durch vier Base64-Zeichen dargestellt werden.
  • \(b_1,b_2,b_3\) — die drei dekodierten Bytes, jeweils von 0 bis 255.

Jede vollständige Gruppe aus vier Base64-Zeichen stellt drei Bytes dar. Die Gleichungen gewinnen diese Bytes zurück, indem sie die Art und Weise umkehren, in der Base64 sie in Sechs-Bit-Werte aufteilt; eine letzte Gruppe mit Padding ergibt weniger Bytes.

Base64-Decoder – Rechenbeispiel

Beispiel: Der Standard-Base64-String SGVsbG8gd29ybGQh enthält die kodierte Nachricht „Hello world!“.

\[ \operatorname{atob}(\texttt{SGVsbG8gd29ybGQh})=\text{Hello world!} \]

Ergebnis: Der dekodierte Text lautet Hello world!.

So verwenden Sie den Base64-Decoder

  1. Fügen Sie Ihren kodierten Inhalt in das Feld Base64-String ein oder tippen Sie ihn ein. Sie können den Standardwert beibehalten, um das obige Beispiel auszuprobieren.
  2. Lesen Sie das Ergebnis Dekodierter Text. Für die Standardeingabe wird Hello world! angezeigt.
  3. Verwenden Sie die Kopierfunktion des Ergebnisses, wenn Sie den dekodierten Text an anderer Stelle einfügen möchten. Wenn das Ergebnis „Ungültiger Base64-String“ lautet, überprüfen Sie die Eingabe auf Zeichen, die nicht zum Standard-Base64-Alphabet gehören.

Der Decoder entfernt Leerraumzeichen am Anfang und am Ende Ihrer Eingabe, bevor er dekodiert. Sie können einen vollständigen String einfügen, ohne Anführungszeichen oder eine Kennzeichnung wie base64: hinzuzufügen; diese zusätzlichen Zeichen wären Teil der Eingabe.

Was Base64-Dekodierung bedeutet

Base64 ist eine Methode, Bytes mit einem begrenzten Satz von Textzeichen darzustellen: Buchstaben, Ziffern, + und /, wobei = gelegentlich als Padding am Ende verwendet wird. Es kommt häufig zum Einsatz, wenn Daten ein textbasiertes Format durchlaufen müssen, etwa eine API-Antwort oder eine E-Mail-Nachricht. Die Dekodierung kehrt diese Darstellung um; sie entschlüsselt die Daten nicht und verändert nicht, was die ursprünglichen Bytes bedeuten.

Dieser Decoder verwendet die atob()-Funktion des Browsers. Ihre Ausgabe ist ein String, in dem jedes Zeichen ein dekodiertes Byte darstellt. Gewöhnlicher ASCII-Text, einschließlich des Standardbeispiels, erscheint daher wie erwartet. Wenn die ursprünglichen Daten eine Datei, komprimierte Daten oder ein anderes Nicht-Text-Format waren, kann das Ergebnis unlesbare Zeichen anstelle von sinnvollem Text enthalten.

Bei Text außerhalb von ASCII spielt der Unterschied zwischen Bytes und Zeichen eine Rolle. UTF-8 verwendet mehrere Bytes für viele Buchstaben mit Akzenten, Symbole und Emojis, aber dieses Werkzeug führt nach der Base64-Dekodierung keine separate UTF-8-Konvertierung durch. Ein gültiger Base64-String mit UTF-8-Text kann deshalb eine unlesbar wirkende Ausgabe erzeugen. Dieses Erscheinungsbild bedeutet nicht zwangsläufig, dass der Base64-String selbst ungültig ist.

Eingabegrenzen und praktische Hinweise

Dieses Werkzeug erwartet Base64, das die atob()-Funktion des Browsers akzeptiert. Standard-Base64 endet üblicherweise mit einem oder zwei =-Padding-Zeichen, wobei der Browser möglicherweise auch eine gültige letzte Gruppe ohne Padding akzeptiert. Fehlendes Padding allein ist kein zuverlässiges Zeichen für einen Fehler. Wenn die Dekodierung fehlschlägt, prüfen Sie auf mitkopierte Satzzeichen, einen unvollständigen String oder Zeichen aus einem anderen Kodierungsformat.

URL-sicheres Base64 ersetzt üblicherweise + durch - und / durch _. Dieser Decoder wandelt diese Zeichen nicht automatisch um. Wenn Ihre Quelle ausdrücklich URL-sicheres Base64 verwendet, nehmen Sie diese Ersetzungen vor der Eingabe vor. Ebenso gilt: Wenn der kodierte Wert in eine URL eingebettet ist, extrahieren Sie zunächst den Base64-Anteil; verwenden Sie den URL-Decoder, wenn die URL selbst prozentkodierte Zeichen enthält.

Wenn Sie Text in Base64 umwandeln möchten, statt ihn zu dekodieren, verwenden Sie den Base64-Encoder. Um Bytewerte in einer anderen Schreibweise zu betrachten, decken der Hex-Umrechner und der Binär-Umrechner diese Darstellungen ab. Keine dieser Konvertierungen macht vertrauliche Inhalte privat: Base64 ist eine Kodierung, keine Sicherheitsmaßnahme.

Häufig gestellte Fragen

Wie kann ich Base64 von Hand dekodieren?

Schlagen Sie den Wert jedes Zeichens im Base64-Alphabet nach und schreiben Sie dann jeden Wert als sechs Binärbits. Verbinden Sie die Bits und teilen Sie sie in Acht-Bit-Bytes auf. Beispielsweise enthält TQ== die Werte 19 und 16, was die Bits 01001101 ergibt – ein Byte mit dem ASCII-Wert für M. Die beiden =-Zeichen zeigen an, dass die letzte Gruppe nur ein Byte enthält.

Wie viele Bytes ergibt ein Base64-String?

Zählen Sie bei einem String mit Padding die Zeichen, teilen Sie durch vier, multiplizieren Sie mit drei und ziehen Sie dann die Anzahl der =-Zeichen am Ende ab. Beispielsweise stellen acht Zeichen mit einem = am Ende fünf Bytes dar. Dabei werden Bytes gezählt, nicht angezeigte Zeichen: Ein UTF-8-Zeichen kann mehrere Bytes belegen, und Binärdaten lassen sich möglicherweise nicht als lesbarer Text anzeigen.

Machen Leerzeichen oder Zeilenumbrüche Base64 ungültig?

Der Base64-Decoder des Browsers ignoriert im Allgemeinen ASCII-Leerraum, einschließlich Leerzeichen, Tabulatoren und Zeilenumbrüchen, sogar innerhalb des kodierten Strings. Andere unsichtbare Zeichen, die aus einem Dokument kopiert wurden, können dennoch einen Fehler verursachen. Wenn eine Eingabe unerwartet fehlschlägt, versuchen Sie, Formatierungen zu entfernen und auf verwechselbare Zeichen zu prüfen, etwa einen typografischen Gedankenstrich anstelle eines normalen Bindestrichs.

Wie stelle ich Buchstaben mit Akzenten oder Emojis aus dekodiertem Base64 wieder her?

Dekodieren Sie zuerst das Base64 in Bytes und interpretieren Sie diese Bytes dann mit der Textkodierung, die die Quelle verwendet – in der Regel UTF-8. Dieser Rechner stellt jedes Byte als Zeichen dar, ohne diesen zweiten Schritt auszuführen. In JavaScript können Sie die dekodierten Bytewerte an TextDecoder mit UTF-8 übergeben. Wenn die Quelle eine andere Zeichenkodierung verwendet hat, wählen Sie stattdessen diese Kodierung.

Kann ich eine vollständige Data-URL in den Decoder einfügen?

Nein. Bei einer Data-URL wie data:text/plain;base64,SGk= fügen Sie nur den Teil nach dem Komma ein: SGk=. Das Präfix beschreibt den Inhalt und gehört nicht zu den Base64-Daten. Prüfen Sie außerdem, ob die URL tatsächlich ;base64, enthält; einige Data-URLs speichern Text stattdessen prozentkodiert.

Warum enthält ein erfolgreich dekodiertes Ergebnis seltsame Symbole oder leere Zeichen?

Eine erfolgreiche Base64-Dekodierung bestätigt nur, dass Bytes wiederhergestellt wurden; sie garantiert nicht, dass diese Bytes lesbaren Text ergeben. Eine dekodierte Datei kann Steuerbytes enthalten, darunter ein Nullbyte, die leer erscheinen oder sich beim Kopieren ungewöhnlich verhalten. Um solchen Inhalt zuverlässig zu untersuchen, verwenden Sie ein byteorientiertes Werkzeug, etwa einen Hex-Viewer, anstelle einer Textanzeige.

Worin unterscheidet sich Base64 von der Hexadezimalkodierung?

Beide stellen Bytes als Text dar, ohne sie zu verschlüsseln. Hexadezimal verwendet zwei Zeichen pro Byte und eignet sich gut, um einzelne Bytewerte zu betrachten. Base64 packt dieselben Daten kompakter: Eine vollständige Gruppe aus drei Bytes wird zu vier Zeichen, ohne Zeilenumbrüche oder umgebendes Format. Wählen Sie das Format, das das System verlangt, das die Daten empfängt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert