ネイティブ JavaScript で ArrayBuffers を Base64 文字列に変換する
当面のタスクは、ArrayBuffer を Base64 でエンコードされた文字列に効率的に変換することです。マルチパート POST の要件
ネイティブ実装
以下のコードはネイティブ ソリューションを提供します。
function _arrayBufferToBase64(buffer) { var binary = ''; var bytes = new Uint8Array(buffer); var len = bytes.byteLength; for (var i = 0; i < len; i++) { binary += String.fromCharCode(bytes[i]); } return window.btoa(binary); }
この実装は、適用する前に ArrayBuffer をバイナリ文字列に変換します。 Base64 エンコーディング。
非ネイティブ代替
ネイティブ実装は信頼性がありますが、パフォーマンスを向上させる非ネイティブなアプローチも存在します。このような実装の 1 つは、
https://gist.github.com/958841
パフォーマンス ベンチマークにより、非ネイティブ メソッドの方が高速になる可能性があることが示されています。参照先:
http://jsperf.com/encoding-xhr-image-data/6
更新されたベンチマーク:
https://jsben.ch/wnaZC
以上がJavaScript で ArrayBuffers を Base64 文字列に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。