Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Seit September 2025 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Die Uint8Array.fromBase64() statische Methode erstellt ein neues Uint8Array-Objekt aus einem base64-kodierten String.
Diese Methode sollte gegenüber Window.atob() bevorzugt werden, da sie ein Byte-Array liefert, mit dem einfacher zu arbeiten ist als mit einem String, der rohe Bytes enthält, es sei denn, Ihre dekodierten Binärdaten sollen tatsächlich ASCII-Text sein. Wenn Sie bereits einen Array-Puffer zugewiesen haben und diesen befüllen möchten, verwenden Sie stattdessen die Instanzmethode Uint8Array.prototype.setFromBase64().
Ein Base64-String, der Bytes kodiert, die in ein Uint8Array umgewandelt werden sollen. Der String darf nur Zeichen aus dem Base64-Alphabet enthalten, das A–Z, a–z, 0–9 und zwei Sonderzeichen umfasst, die entweder + und / (wenn alphabet: "base64" in options verwendet wird) oder - und _ (wenn alphabet: "base64url" in options verwendet wird) sind. Am Ende dürfen Auffüllzeichen = vorhanden sein. Alle ASCII-Leerzeichen innerhalb des Strings werden ignoriert.
options OptionalEin Objekt, das den Interpretationsprozess des Base64-Strings anpasst. Es kann die folgenden Eigenschaften enthalten:
alphabet OptionalEin String, der das Base64-Alphabet angibt, das verwendet wird. Es kann eines der folgenden sein:
"base64" (Standard)Akzeptiere Eingaben, die mit dem Standard-Base64-Alphabet kodiert sind, das + und / verwendet.
"base64url"Akzeptiere Eingaben, die mit dem URL-sicheren Base64-Alphabet kodiert sind, das - und _ verwendet.
lastChunkHandling OptionalEin String, der angibt, wie der letzte Block des Base64-Strings behandelt werden soll. Da jede 4 Zeichen in Base64 3 Bytes kodieren, wird der String in Blöcke von 4 Zeichen aufgeteilt. Wenn der letzte Block weniger als 4 Zeichen hat, muss er anders behandelt werden. Er kann einer der folgenden sein:
"loose" (Standard)Der letzte Block kann entweder 2 oder 3 Base64-Zeichen oder genau 4 Zeichen lang mit Auffüllzeichen = sein. Der letzte Block wird dekodiert und dem Ergebnis hinzugefügt.
"strict"Der letzte Block muss genau 4 Zeichen lang mit Auffüllzeichen = sein. Außerdem müssen Überlauf-Bits (nachlaufende Bits vom letzten Base64-Zeichen, die keine Daten darstellen) 0 sein. Der letzte Block wird dekodiert und dem Ergebnis hinzugefügt.
"stop-before-partial"Wenn der letzte Block genau 4 Zeichen lang mit Auffüllzeichen = ist, wird er dekodiert und dem Ergebnis hinzugefügt. Andernfalls wird der letzte partielle Block ignoriert (aber wenn er ein Base64-Zeichen gefolgt von = enthält, wird dennoch ein Syntaxfehler ausgelöst). Dies ist nützlich, wenn der String aus einem Stream stammt und der letzte Block noch nicht vollständig ist. Um zu wissen, wie viele Zeichen der Eingabe gelesen wurden, verwenden Sie Uint8Array.prototype.setFromBase64() stattdessen (die verlinkte Seite enthält auch ein Beispiel für die Dekodierung von Streams mit "stop-before-partial").
Ein neues Uint8Array-Objekt, das die dekodierten Bytes aus dem Base64-kodierten String enthält.
Wird ausgelöst, wenn der Eingabestring Zeichen außerhalb des angegebenen Alphabets enthält oder wenn der letzte Block die Vorgaben der lastChunkHandling-Option nicht erfüllt.
TypeErrorWird in einem der folgenden Fälle ausgelöst:
Dieses Beispiel verwendet die Standardoptionen alphabet und lastChunkHandling, um einen Base64-String zu dekodieren. Beachten Sie, dass:
Dieses Beispiel verwendet die Option alphabet, um einen URL-sicheren Base64-String zu dekodieren.
Dieses Beispiel verwendet die Option lastChunkHandling, um einen Base64-String zu dekodieren, bei dem der letzte Block exakt 4 Zeichen lang mit Auffüllzeichen = sein muss und die Überlauf-Bits 0 sein müssen.
Dieses Beispiel verwendet die Option lastChunkHandling, um einen Base64-String zu dekodieren und dabei jeden partiellen letzten Block zu ignorieren.
| ECMAScript® 2027 Language Specification # sec-uint8array.frombase64 |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.