Menukar ArrayBuffers kepada Base64 Strings dalam Native JavaScript
Tugas di tangan adalah untuk cekap menukar ArrayBuffer kepada rentetan berkod base64, a keperluan untuk permintaan POST berbilang bahagian.
Native Pelaksanaan
Kod di bawah menyediakan penyelesaian asli:
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); }
Pelaksanaan ini menukarkan ArrayBuffer kepada rentetan binari sebelum menggunakan pengekodan base64.
Alternatif Bukan Asli
Walaupun pelaksanaan asli boleh dipercayai, wujud pendekatan bukan asli yang menawarkan prestasi yang lebih baik. Satu pelaksanaan sedemikian ditemui di:
https://gist.github.com/958841
Tanda aras prestasi menunjukkan bahawa kaedah bukan asli boleh menjadi lebih pantas. Lihat:
http://jsperf.com/encoding-xhr-image-data/6
Tanda aras yang dikemas kini:
https://jsben.ch/wnaZC
Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukar ArrayBuffers ke Base64 Strings dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!