export function encodeBase64(input) { | |
if (Uint8Array.prototype.toBase64) { | |
return input.toBase64(); | |
} | |
const CHUNK_SIZE = 0x8000; | |
const arr = []; | |
for (let i = 0; i < input.length; i += CHUNK_SIZE) { | |
arr.push(String.fromCharCode.apply(null, input.subarray(i, i + CHUNK_SIZE))); | |
} | |
return btoa(arr.join('')); | |
} | |
export function decodeBase64(encoded) { | |
if (Uint8Array.fromBase64) { | |
return Uint8Array.fromBase64(encoded); | |
} | |
const binary = atob(encoded); | |
const bytes = new Uint8Array(binary.length); | |
for (let i = 0; i < binary.length; i++) { | |
bytes[i] = binary.charCodeAt(i); | |
} | |
return bytes; | |
} | |