Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

window.btoa

概要

バイナリデータの文字列から base64 エンコードされた文字列を作成します。

※このメソッドは生のユニコード文字列には適していません。詳細については後述します。

構文

encodedData = window.btoa(stringToEncode);

var encodedData = window.btoa("Hello, world");	// 文字列のエンコード
var decodedData = window.atob(encodedData);		// 文字列のデコード

注記

このメソッドは、そのまま送信すると問題を起こす可能性のあるデータをエンコードしてから送信する用途に用いる事が出来ます。送信したデータは、受信側で window.atob メソッドを使って元のデータにデコードすることができます。例えば、0 から 31 までの ASCII 値のような制御文字をエンコードすることができます。

window は、コンポーネント内ではグローバルオブジェクトではありませんが、btoa() を JavaScript で実装された XPCOM コンポーネントで利用する事もできます。

ユニコード文字列

殆どのブラウザでは、window.btoa のパラメータにユニコードの文字列を指定して呼び出すと、例外「範囲外 (Out Of Range)」が返ります。

この問題を回避する為に、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 )) );
}

// 使用方法 :
utf8_to_b64('✓ à la mode'); // "4pyTIMOgIGxhIG1vZGU="
b64_to_utf8('4pyTIMOgIGxhIG1vZGU='); // "✓ à la mode"

仕様

DOM Level 0。どの標準にも属しません。

ブラウザ実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基本サポート (有) (有) 10 (有) (有)
機能 Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基本サポート ? ? 未サポート ? (有)

関連情報

ドキュメントのタグと貢献者

タグ: 
 このページの貢献者: fscholz, khalid32, ethertank, Potappo
 最終更新者: khalid32,