Zum Inhalt springen
Favoriten

Base64-Encoder

Aktualisiert:

Geben Sie Text ein, um ihn in einen Base64-String umzuwandeln. Der Encoder funktioniert mit ASCII und anderen Single-Byte-Zeichen; Zeichen wie Emojis können einen Kodierfehler verursachen.

Werkzeug zur Base64-Kodierung von Text

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

Formel des Base64-Encoders

Formel
\[ L=4\left\lceil\frac{n}{3}\right\rceil \]

Dabei gilt:

  • \(n\) — die Anzahl der Eingabe-Bytes.
  • \(L\) — die Anzahl der Zeichen der Base64-Ausgabe, einschließlich eventueller Auffüllung.

Base64 teilt die Eingabe in Drei-Byte-Gruppen und stellt jede Gruppe durch vier Zeichen dar. Enthält die letzte Gruppe weniger als drei Bytes, werden ein oder zwei =-Zeichen als Auffüllung (Padding) verwendet.

Base64-Encoder – Berechnungsbeispiel

Beispiel: Geben Sie den Standardtext des Rechners ein, Hello world!. Seine 12 unterstützten Zeichen werden als 12 Bytes kodiert und bilden vier vollständige Drei-Byte-Gruppen.

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

\[ L=4\left\lceil\frac{12}{3}\right\rceil=16 \]

Ergebnis: SGVsbG8gd29ybGQh, ein 16 Zeichen langer Base64-String ohne Auffüllung.

So verwenden Sie den Base64-Encoder

  1. Geben Sie Ihre Eingabe in Zu kodierender Text ein oder fügen Sie sie dort ein. Sie können Hello world! stehen lassen, um das obige Beispiel nachzuvollziehen.
  2. Lesen Sie den kodierten String in Base64-Ausgabe ab.
  3. Nutzen Sie die Kopierfunktion der Ausgabe, wenn Sie den String in eine andere Anwendung einfügen möchten. Behalten Sie etwaige =-Zeichen am Ende bei: Sie gehören zum kodierten Wert.

Zeigt die Base64-Ausgabe die Meldung „Kodierung fehlgeschlagen“, enthält der Text ein Zeichen, das dieser Encoder nicht direkt verarbeiten kann. Beachten Sie die unten beschriebene Zeichenbeschränkung, bevor Sie das Ergebnis in einer Anwendung verwenden.

Was die Base64-Kodierung bewirkt

Base64 ist ein Verfahren, um Bytes mit einer begrenzten Menge druckbarer Zeichen darzustellen: Groß- und Kleinbuchstaben, Ziffern, + und /. Das ist nützlich, wenn ein Format oder System Text statt roher Bytes verlangt. Das Ergebnis kann je nach Eingabelänge außerdem mit = oder == enden.

Der kodierte String verändert die Bedeutung Ihres Textes nicht, sondern ist eine andere Darstellung der Eingabe-Bytes. Mit einem Base64-Decoder lassen sich diese Bytes wiederherstellen. Base64 bietet daher weder Verschlüsselung noch Vertraulichkeit. Betrachten Sie ein kodiertes Passwort, Token oder einen anderen sensiblen Wert nicht als geschützt, nur weil er auf den ersten Blick schwer lesbar ist.

Die Base64-Ausgabe ist in der Regel länger als die Eingabe: Aus je drei Bytes werden vier Zeichen, also eine Verlängerung um etwa ein Drittel, bevor zusätzliche Formatierung hinzukommt. Bei kurzen Eingaben kann die Auffüllung den relativen Zuwachs noch vergrößern. Die Formel oben liefert die Ausgabelänge für eine Eingabe von \(n\) Bytes; sie sagt jedoch nicht, welche Zeichen die Ausgabe enthalten wird. Diese hängen von den tatsächlichen Bytewerten ab.

Zeichenunterstützung und praktische Grenzen

Dieser Rechner nutzt die Funktion btoa() des Browsers. Sie akzeptiert Text, dessen einzelne Zeichencodes in ein Byte passen, also von 0 bis 255. Gewöhnliche englische Buchstaben, Ziffern, Leerzeichen und Satzzeichen funktionieren. Viele andere Zeichen, darunter Emojis und die meisten nichtlateinischen Schriften, führen zu „Kodierung fehlgeschlagen“. Diese Seite wandelt den Text vorher nicht in UTF-8 um.

Diese Unterscheidung ist auch bei akzentuierten Zeichen wichtig. Ein Zeichen wie é wird hier als einzelnes Byte akzeptiert, aber seine Ausgabe ist nicht die Base64-Kodierung der UTF-8-Bytes des Zeichens. Erwartet ein empfangendes System UTF-8, verwenden Sie einen Encoder, der den Text vor der Base64-Kodierung ausdrücklich in UTF-8 umwandelt.

Obwohl Base64 häufig für Dateien verwendet wird, bietet dieser Rechner nur ein Textfeld und keinen Datei-Upload. Der sichtbare Inhalt eines Bildes oder einer anderen Binärdatei lässt sich durch Einfügen nicht zuverlässig kodieren. Wenn Sie Base64 für eine Datei benötigen, nutzen Sie ein Werkzeug, das Dateien verarbeiten kann.

Base64 verfolgt außerdem einen anderen Zweck als die URL-Kodierung. Wenn Sie Zeichen für die Verwendung in einer URL maskieren müssen, nutzen Sie einen URL-Encoder. Standard-Base64 selbst kann +, / und = enthalten, was in einer URL Sonderbehandlung erfordern kann. Um Zeichenwerte zu untersuchen, statt die gesamte Eingabe als Base64 zu kodieren, probieren Sie den ASCII-Konverter.

Häufig gestellte Fragen

Wie kann ich Text von Hand in Base64 kodieren?

Wandeln Sie jedes Eingabe-Byte in acht Binärziffern um und teilen Sie dann die zusammengefassten Bits in Gruppen zu sechs. Lesen Sie jede Sechs-Bit-Gruppe als Zahl von 0 bis 63 und schlagen Sie sie im Standard-Base64-Alphabet nach. Die Bytes für „Man“ ergeben beispielsweise die Sechs-Bit-Werte 19, 22, 5 und 46, die „TWFu“ entsprechen. Bei einer unvollständigen letzten Gruppe ergänzen Sie Null-Bits, bevor Sie deren letztes Zeichen nachschlagen.

Warum liefert ein anderer Base64-Encoder ein anderes Ergebnis für é?

Die beiden Encoder beginnen möglicherweise mit unterschiedlichen Bytes. Dieser Rechner behandelt é als ein Byte mit dem Wert 233 und erzeugt „6Q==“. Ein UTF-8-Encoder stellt é zunächst als zwei Bytes dar, 195 und 169, und erzeugt „w6k=“. Keines der beiden Ergebnisse ist an sich falsch, aber der Decoder muss dieselbe Zeichenkodierung verwenden wie der Encoder, um den beabsichtigten Text wiederherzustellen.

Was passiert, wenn ich einen leeren String kodiere?

Eine leere Eingabe wird zu einem leeren Base64-String, nicht zu einem Gleichheitszeichen oder einer besonderen Markierung. Es gibt keine Bytes zu konvertieren und keine letzte Gruppe, die Auffüllung benötigt. Das kann beim Senden von Daten an eine API relevant sein: Ein leerer kodierter Wert kann gültig sein, aber die empfangende Anwendung behandelt ein weggelassenes Feld möglicherweise anders als ein Feld mit einem leeren String.

Ist Base64 dasselbe wie Base64URL?

Nein. Base64URL ersetzt das „+“ und „/“ des Standard-Alphabets durch „-“ und „_“; außerdem wird die abschließende Auffüllung üblicherweise weggelassen. Diese Änderungen erleichtern es, kodierte Daten in URL-Komponenten und Formaten wie JWTs zu verwenden. Dieser Rechner erzeugt Standard-Base64. Prüfen Sie daher, ob der empfangende Dienst ausdrücklich Base64URL verlangt, bevor Sie die Ausgabe kopieren.

Kann ich die Gleichheitszeichen am Ende eines Base64-Strings entfernen?

Nur wenn das empfangende Format Base64 ohne Auffüllung ausdrücklich zulässt. Manche Decoder können die fehlende Auffüllung aus der Stringlänge erschließen, andere benötigen sie zwingend. Das Entfernen von „=“ verändert die ursprünglichen Daten nicht, kann den String für einen strengen Decoder aber ungültig machen. Behalten Sie die Auffüllung beim Kopieren des Ergebnisses dieses Rechners bei, sofern Ihr Ziel nichts anderes vorgibt.

Spielen Groß-/Kleinschreibung oder Leerzeichen in Base64 eine Rolle?

Die Groß-/Kleinschreibung spielt eine Rolle: Groß- und Kleinbuchstaben stehen für verschiedene Werte, sodass eine Änderung der Schreibweise eines Buchstabens die dekodierten Bytes verändern kann. Bei Leerzeichen ist das anders. Manche Decoder ignorieren Zeilenumbrüche in langen Base64-Strings, während strenge Decoder sie zurückweisen. Bewahren Sie jedes Zeichen unverändert und fügen Sie weder Leerzeichen noch Zeilenumbrüche hinzu, damit das Kopieren und Einfügen zuverlässig gelingt.

Schreibe einen Kommentar

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