Conversion d'ArrayBuffers en chaînes Base64 en JavaScript natif
La tâche à accomplir consiste à convertir efficacement un ArrayBuffer en une chaîne codée en base64, un exigence pour les requêtes POST en plusieurs parties.
Natif Implémentation
Le code ci-dessous fournit une solution native :
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); }
Cette implémentation convertit l'ArrayBuffer en chaîne binaire avant d'appliquer l'encodage base64.
Alternative non native
Bien que l'implémentation native soit fiable, il existe des approches non natives qui offrent des performances améliorées. Une telle implémentation se trouve sur :
https://gist.github.com/958841
Les tests de performances indiquent que les méthodes non natives peuvent être plus rapides. Voir :
http://jsperf.com/encoding-xhr-image-data/6
Benchmarks mis à jour :
https://jsben.ch/wnaZC
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!