WindowBase64.btoa()

Tworzy string ASCII zakodowany w base-64 z ciągu ("string") danych binarnych.

Metoda ta jednak nie nadaje się do konwertowania surowych ciągów Unicode! Zobacz sekcję Unicode poniżej.

Składnia

var zakodowaneDane = window.btoa(ciagDoZakodowania);

Przykład

var zakodowaneDane = window.btoa("Hello, world"); // kodowanie ciągu
var odkodowaneDane = window.atob(zakodowaneDane); // odkodowywanie ciągu ("Hello, world")

Uwagi

Możesz używać tej metody do kodowania danych, które w innym wypadku mogą powodować problemy z komunikacją. Przekaż je, a następnie użyj metody window.atob() aby odkodować dane ponownie. Na przykład możesz zakodować znaki kontrolne takie jak ASCII o wartości od 0 do 31.

btoa() jest także dostępne dla komponentów XPCOM zaimplementowanych w JavaScript, nawet jeżeli window nie jest globalnym obiektem w komponencie.

Ciągi Unicode

W większości przeglądarek odwołanie się do window.btoa() z ciągiem Unicode spowoduje wystąpienie wyjątku Character Out Of Range.

Aby tego uniknąć, rozważ ten model odnotowany przez Johana Sundströma:

function utf8_to_b64( str ) {
    return window.btoa(encodeURIComponent( escape( str )));
}

function b64_to_utf8( str ) {
    return unescape(decodeURIComponent(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!"

Lepszym, bardziej wiarygodnym i mniej wymagającym rozwiązaniem jest konwersja DOMString do ciągu zakodowanego w UTF-8 używając TypedArray. W tym celu proszę zapoznać się z tym akapitem.

Specyfikacje

Specyfikacja Status Komentarz
WHATWG HTML Living Standard
The definition of 'WindowBase64.btoa()' in that specification.
Living Standard Brak zmian od ostatniej migawki, HTML5.1.
HTML5.1
The definition of 'WindowBase64.btoa()' in that specification.
Working Draft Migawka WHATWG HTML Living Standard. Bez zmian.
HTML5
The definition of 'WindowBase64.btoa()' in that specification.
Recommendation Migawka WHATWG HTML Living Standard. Utworzenie WindowBase64 (properties where on the target before it).

Zgodność przeglądarek

Funkcja Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Podstawowa obsługa (Yes) 1.0 (1.7 or earlier)[1] 10 (Yes) (Yes)
Funkcja Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Podstawowa obsługa (Yes) 1.0 (1) Not supported ? (Yes)

[1] btoa() jest także dostępna dla komponentów XPCOM zaimplementowanych w JavaScript, nawet jeżeli window nie jest globalnym obiektem w komponencie.

Zobacz też

Autorzy i etykiety dokumentu

 Autorzy tej strony: teoli, Eltu
 Ostatnia aktualizacja: Eltu,