Diese Übersetzung ist unvollständig. Bitte helfen Sie, diesen Artikel aus dem Englischen zu übersetzen.
Erzeugt eine Base-64-kodierten ASCII-Zeichenkette aus einer "Zeichenkette" von Binärdaten.
Hinweis: diese Funktion ist nicht für Raw-Unicode-Zeichenketten geeignet (siehe Abschnitt "Unicode-Zeichenketten" unten).
Syntax
var encodedData = window.btoa(stringToEncode);
Example
var encodedData = window.btoa("Hello, world"); // Zeichenkette kodieren var decodedData = window.atob(encodedData); // Zeichenkette dekodieren
Hinweise
Diese Methode kann verwendet werden, um Daten zu kodieren, übertragen, und mittels
wieder zu dekodieren, welche andernfalls Übertragungsprobleme bereiten würden. Beispielsweise ist es möglich, die Steuerzeichen mit den ASCII-Werten 0 bis 31 zu kodieren.window.atob()
btoa()
steht auch in JavaScript implementierten XPCOM-Komponenten zur Verfügung, auch wenn window
in solchen Komponenten nicht das globale Objekt ist.
Unicode-Zeichenketten
In den meisten Browsern verursacht ein Aufruf von window.btoa()
mit einer Unicode-Zeichenkette eine "Character Out Of Range"-Exception ("Zeichen außerhalb des zulässigen Wertebereichs").
Das kann mithilfe eines solchen Code-Schemas vermieden werden (beigesteuert von Johan Sundström):
function utf8_to_b64(str) { return window.btoa(unescape(encodeURIComponent(str))); } function b64_to_utf8(str) { return decodeURIComponent(escape(window.atob(str))); } // Usage: utf8_to_b64('✓ à la mode'); // JTI1dTI3MTMlMjUyMCUyNUUwJTI1MjBsYSUyNTIwbW9kZQ== b64_to_utf8('JTI1dTI3MTMlMjUyMCUyNUUwJTI1MjBsYSUyNTIwbW9kZQ=='); // "✓ à la mode" utf8_to_b64('I \u2661 Unicode!'); // SSUyNTIwJTI1dTI2NjElMjUyMFVuaWNvZGUlMjUyMQ== b64_to_utf8('SSUyNTIwJTI1dTI2NjElMjUyMFVuaWNvZGUlMjUyMQ=='); // "I ♡ Unicode!"
Eine günstigere, zuverlässigere und effizientere Lösung ist, DOMString
zunächst in eine UTF-8-kodierte Zeichenkette zu konvertieren, die sich für typed arrays eignet. Eine Anleitung bietet dieser Abschnitt.
Specifications
Specification | Status | Comment |
---|---|---|
WHATWG HTML Living Standard Die Definition von 'WindowBase64.btoa()' in dieser Spezifikation. |
Lebender Standard | No change since the latest snapshot, HTML5.1. |
HTML5.1 Die Definition von 'WindowBase64.btoa()' in dieser Spezifikation. |
Arbeitsentwurf | Snapshot of WHATWG HTML Living Standard. No change. |
HTML5 Die Definition von 'WindowBase64.btoa()' in dieser Spezifikation. |
Empfehlung | Snapshot of WHATWG HTML Living Standard. Creation of WindowBase64 (properties where on the target before it). |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | (Ja) | 1.0 (1.7 oder früher)[1] | 10 | (Ja) | (Ja) |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | (Ja) | 1.0 (1) | Nicht unterstützt | ? | (Ja) |
[1] btoa()
is also available to XPCOM components implemented in JavaScript, even though window
is not the global object in components.