JavaScript btoa atob
2530 ワード
JAvascriptオリジナルのapiは本来、Base 64をサポートしているが、これまでのjavascriptの限界により、Base 64は基本的に役に立たない.現在html 5規格が正式化されている間、Base 64には大きな転換空間があり、Html 5 Apiに登場するFileReader Api、ドラッグアップロード、さらにCanvas、Videoスクリーンショットなどが実現される.
開発者は重視する必要があります
一.JavascriptでBase 64トランスコードをどのように使用するかを見てみましょう
二.トランスコードの場合、Base 64トランスコードの対象は文字列のみであるため、他のデータにはこのような限界があり、ここで特にUnicodeトランスコードに注意が必要である.
Uncaught DOMException: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.
明らかに、このような方式はだめで、それではどのように彼に漢字を支持させて、これはwindowを使います.义齿decodeURIComponent
開発者は重視する必要があります
一.JavascriptでBase 64トランスコードをどのように使用するかを見てみましょう
var str = 'javascript';
window.btoa(str)
// "amF2YXNjcmlwdA=="
window.atob("amF2YXNjcmlwdA==")
// "javascript"
二.トランスコードの場合、Base 64トランスコードの対象は文字列のみであるため、他のデータにはこのような限界があり、ここで特にUnicodeトランスコードに注意が必要である.
var str = "China, "
window.btoa(str)
Uncaught DOMException: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range.
明らかに、このような方式はだめで、それではどのように彼に漢字を支持させて、これはwindowを使います.义齿decodeURIComponent
var str = "China, ";
window.btoa(window.encodeURIComponent(str))
//"Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ="
window.decodeURIComponent(window.atob('Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ='))
//"China, "