Native Implementation for Converting ArrayBuffer to Base64
Converting an ArrayBuffer to a base64-encoded string is crucial for various use cases, such as multipart POST requests. To efficiently accomplish this, developers often seek native solutions.
SOLUTION
Here's an efficient native function to convert an ArrayBuffer to a base64 string:
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); }
This function creates a binary string from the ArrayBuffer and uses the native btoa function to generate the base64 string.
ALTERNATIVE APPROACHES
While the above solution is native, non-native implementations may offer better performance. One such implementation can be found here: https://gist.github.com/958841.
PERFORMANCE BENCHMARKS
For a fair comparison, refer to the following performance benchmarks:
The above is the detailed content of How Can I Efficiently Convert an ArrayBuffer to a Base64 String in JavaScript?. For more information, please follow other related articles on the PHP Chinese website!