index.js (771B)
1 function arrayBufferToString(arBuf) { 2 const 3 arr = new Uint8Array(arBuf), 4 s = []; 5 for (let i = 0; i < arr.length; i += 4096) { 6 let chunk = arr.subarray(i, i + 4096); 7 chunk = String.fromCharCode.apply(null, chunk); 8 s.push(chunk); 9 } 10 return s.join(''); 11 } 12 13 function stringToArrayBuffer(s) { 14 const 15 length = s.length, 16 buf = new ArrayBuffer(length), 17 arr = new Uint8Array(buf); 18 for (let i = 0; i < length; i++) { 19 arr[i] = s.charCodeAt(i); 20 } 21 return buf; 22 } 23 24 function blobFromString(s, mimeType = 'application/download') { 25 const arr = stringToArrayBuffer(s); 26 return new Blob([arr], {type: mimeType}); 27 } 28 29 export {arrayBufferToString, blobFromString, stringToArrayBuffer};