ホームページ >ウェブフロントエンド >jsチュートリアル >Base64 トランスコーディングとデコーディングに btoa と atob を使用する JavaScript の詳細な紹介
javascriptネイティブAPIは元々Base64をサポートしていますが、以前のJavaScriptの制限によりBase64は基本的に使えません。現在の html5 標準が正式化されると、Base64 には FileReader API などの Html5 API の変換のための大きなスペースがあり、キャンバスやビデオのスクリーンショットも実現できるようになります
ネイティブ JavaScript API はすでにサポートしています。 Base64 ですが、JavaScript の以前の制限により、Base64 は基本的に役に立ちません。現在の HTML5 標準が正式化されると、Base64 は FileReader API などの HTML5 API に対して大きな変換スペースを確保し、ドラッグ アンド ドロップでアップロードしたり、Canvas や Video のスクリーンショットを実現したりすることができます。
さて、Base64 のトランスコーディングとデコーディングの方法については、前置きでたくさん述べました:
1. JavaScript で Base64 トランスコーディングを使用する方法を見てみましょう
var str = 'javascript'; window.btoa(str) //转码结果 "amF2YXNjcmlwdA==" window.atob("amF2YXNjcmlwdA==") //解码结果 "javascript"
2。 Base64 トランスコーディングの オブジェクト は 文字列 のみであるため、ここで特に注意が必要なのは Unicode トランスコーディングです。
var str = "China,中国" window.btoa(str)
Uncaught DOMException: 'Window' で 'btoa' の実行に失敗しました: エンコードされる string には Latin1 range 以外の文字が含まれています。
明らかに、このメソッドは機能しません。中国語の文字をサポートしています
これには、window.encodeURIComponent と window.decodeURIComponent を使用する必要があります
var str = "China,中国"; window.btoa(window.encodeURIComponent(str)) //"Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ=" window.decodeURIComponent(window.atob('Q2hpbmElRUYlQkMlOEMlRTQlQjglQUQlRTUlOUIlQkQ=')) //"China,中国"
以上がBase64 トランスコーディングとデコーディングに btoa と atob を使用する JavaScript の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。