ホームページ >ウェブフロントエンド >jsチュートリアル >マルチパート POST リクエスト用に ArrayBuffer を Base64 文字列に効率的に変換するにはどうすればよいですか?

マルチパート POST リクエスト用に ArrayBuffer を Base64 文字列に効率的に変換するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-25 05:45:17997ブラウズ

How to Efficiently Convert an ArrayBuffer to a Base64 String for Multipart Post Requests?

マルチパート ポスト用の ArrayBuffer から Base64 エンコード文字列へのネイティブ変換

質問: ArrayBuffer を変換するにはどうすればよいですか?ネイティブに重点を置き、マルチパート投稿で使用するためにbase64でエンコードされた文字列に変換します。効率は?

答え: 次の関数を実装します:

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);
}

ただし、非ネイティブ実装のほうが速度が優れている傾向があることに注意してください。このような使用例では、次の代替案を検討してください。 https://gist.github.com/958841

ベンチマーク:

  • http:// jsperf.com/encoding-xhr-image-data/6
  • https://jsben.ch/wnaZC

以上がマルチパート POST リクエスト用に ArrayBuffer を Base64 文字列に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。