Rumah >hujung hadapan web >tutorial js >Bagaimana dengan Cekap Menukar ArrayBuffer kepada Rentetan Base64 untuk Siaran Berbilang Bahagian?

Bagaimana dengan Cekap Menukar ArrayBuffer kepada Rentetan Base64 untuk Siaran Berbilang Bahagian?

Patricia Arquette
Patricia Arquetteasal
2024-12-24 14:57:14545semak imbas

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

Menukar ArrayBuffer kepada Rentetan berkod Base64 untuk Pos Berbilang Bahagian

Untuk menukar ArrayBuffer dengan cekap kepada rentetan base64 yang sesuai untuk siaran berbilang bahagian, pembangun boleh manfaatkan teknik berikut:

Native Pelaksanaan

Pendekatan pertama melibatkan penggunaan fungsi 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 Bukan Asli

Jika pelaksanaan asli tidak disokong atau memerlukan pengoptimuman kelajuan, pertimbangkan untuk menggunakan bukan asli kaedah:

// Refer to external library or gist for non-native implementation

Perbandingan Prestasi

Pelaksanaan bukan asli selalunya mempamerkan prestasi yang lebih tinggi seperti yang ditunjukkan dalam penanda aras:

  • [JS Perf](https://jsperf.com/encoding-xhr-image-data/6)
  • [JS Bench](https://jsben.ch/wnaZC)

Walau bagaimanapun, pembangun harus menilai prestasi dan keserasian penyemak imbas sebelum memilih pendekatan tertentu.

Atas ialah kandungan terperinci Bagaimana dengan Cekap Menukar ArrayBuffer kepada Rentetan Base64 untuk Siaran Berbilang Bahagian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn