將ArrayBuffer 轉換為Base64 的本機實作
將ArrayBuffer 轉換為Base64 編碼的字串對於各種用例(例如多部分)至關重要POST 請求。為了有效地實現這一點,開發人員經常尋求本機解決方案。
解決方案
這裡有一個高效的本機函數,用於將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); }
該函數從ArrayBuffer 建立一個二進位字串,並使用原生btoa 函數產生base64 string.
替代方法
雖然上述解決方案是本機解決方案,但非本機實作可能會提供更好的效能。可以在這裡找到這樣的實作:https://gist.github.com/958841。
效能基準
為了公平比較,請參考以下效能基準測試:
以上是如何在 JavaScript 中有效率地將 ArrayBuffer 轉換為 Base64 字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!