Pot.js で利用可能。 PotLite.js では利用できません。
string を Base64 URL エンコードして返します。
引数 string を URL / ファイル名 セーフな Base64 (RFC 3548) として エンコードして返します。
Pot.globalize() が適応されている場合、Pot.base64URLEncode() が base64URLEncode() で実行できます。
Base64 エンコードされた文字列が返ります。
var string = '(*>_<*)'; var result = Pot.base64URLEncode(string); Pot.debug(result); // 'KCo-XzwqKQ=='
var string = '゚+。:.o・゚・┣¨キ┣¨キ☆・゚・'; var encoded = Pot.base64URLEncode(string); var decoded = Pot.base64URLDecode(encoded); debug( 'string = ' + string + '\n' + 'encoded = ' + encoded + '\n' + 'decoded = ' + decoded ); // result: // string = ゚+。:.o・゚・┣¨キ┣¨キ☆・゚・ // encoded = 776fK--9oToub--9pe--n--9peKUo8Ko // 77234pSjwqjvvbfimIbvvaXvvp_vvaU= // decoded = ゚+。:.o・゚・┣¨キ┣¨キ☆・゚・
Pot.base64URLEncode() には、いくつかのメソッドがあります。
deferred メソッドは、非同期で実行します。
非同期で実行することにより、巨大な文字列に対しても負荷を抑え実行することが可能です。
引数 string を Base64 URL エンコードします。
エンコードされた結果を引数に持つ Pot.Deferred インスタンス が返ります。
Pot.base64URLEncode.deferred() で実行できます。
結果からは then() などによりチェインを繋げることができます。
Pot.base64URLEncode.deferred.slow()
のようにして速度の指定ができます。
指定できる名前は以下の表を参照ください。
デフォルトの速度は normal です。
値 / メソッド名 | 速度 |
limp | 最も遅い |
doze | 遅い |
slow | 遅め |
normal | 通常 |
fast | 速め |
rapid | 速い |
ninja | 最も速い |
非同期実行の例:
var string = '(*>_<*)'; Pot.base64URLEncode.deferred(string).then(function(encoded) { Pot.debug(encoded); // 'KCo-XzwqKQ==' return Pot.base64URLDecode.deferred(encoded).then(function(decoded) { Pot.debug(decoded); // '(*>_<*)' }); });
var string = '゚+。:.o・゚・┣¨キ┣¨キ☆・゚・'; Pot.base64URLEncode.deferred(string).then(function(encoded) { return Pot.base64URLDecode.deferred(encoded).then(function(decoded) { Pot.debug( 'string = ' + string + '\n' + 'encoded = ' + encoded + '\n' + 'decoded = ' + decoded ); // result: // string = ゚+。:.o・゚・┣¨キ┣¨キ☆・゚・ // encoded = 776fK--9oToub--9pe--n--9peKUo8Ko // 77234pSjwqjvvbfimIbvvaXvvp_vvaU= // decoded = ゚+。:.o・゚・┣¨キ┣¨キ☆・゚・ }); });