WindowOrWorkerGlobalScope.atob()

WindowOrWorkerGlobalScope.atob() 関数は、 Base64 エンコーディングでエンコードされたデータの文字列をデコードします。 btoa() メソッドを使用して、通信に問題が発生する可能性のあるデータをエンコードして送信し、送信した後に atob() メソッドを使用して再度デコードすることができます。例えば、ASCII の 0 から 31 までのコードような制御文字をエンコードして送信し、デコードすることができます。

Unicode や UTF-8 文字列の使用については、 btoa() の「Uncode 文字列」の節を参照してください。

構文

var decodedData = scope.atob(encodedData);

引数

encodedData
エンコードされたデータが入っているバイナリ文字列です。

返値

encodedData をデコードしたデータを含む ASCII 文字列です。

例外

DOMException (name: InvalidCharacterError)
encodedData が妥当な base64 ではない場合に発行されます。

const encodedData = window.btoa('Hello, world'); // 文字列をエンコード
const decodedData = window.atob(encodedData); // 文字列をデコード

ポリフィル

対応していないブラウザーでは、 https://github.com/MaxArt2501/base64-js/blob/master/base64.js のポリフィルを利用することができます。

仕様書

仕様書 状態 備考
HTML Living Standard
WindowOrWorkerGlobalScope.atob() の定義
現行の標準 最新の仕様で、メソッドを WindowOrWorkerGlobalScope ミックスインに移動。
HTML 5.1
WindowBase64.atob() の定義
勧告 HTML Living Standard のスナップショット、変更なし。
HTML5
WindowBase64.atob() の定義
勧告 HTML Living Standard のスナップショット。 WindowBase64 の作成 (以前の対象だったプロパティ)。

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
atobChrome 完全対応 4Edge 完全対応 12Firefox 完全対応 1
完全対応 1
完全対応 27
補足
補足 atob() ignores all space characters in the argument to comply with the latest HTML5 spec (see bug 711180).
完全対応 57
補足
補足 atob() now defined on WindowOrWorkerGlobalScope mixin.
IE 完全対応 10Opera 完全対応 10.5Safari 完全対応 3WebView Android 完全対応 ≤37Chrome Android 完全対応 18Firefox Android 完全対応 4
完全対応 4
完全対応 27
補足
補足 atob() ignores all space characters in the argument to comply with the latest HTML5 spec (see bug 711180).
完全対応 57
補足
補足 atob() now defined on WindowOrWorkerGlobalScope mixin.
Opera Android 完全対応 11Safari iOS 完全対応 1Samsung Internet Android 完全対応 1.0

凡例

完全対応  
完全対応
実装ノートを参照してください。
実装ノートを参照してください。

関連情報