hts/packages/isdk/spec/util/uint8-utils.ts

18 lines
613 B
TypeScript

export function convertBase64ToUint8Array(base64String: string) {
const base64Url = base64String.replace(/-/g, '+').replace(/_/g, '/');
const latin1string = globalThis.atob(base64Url);
return Uint8Array.from(latin1string, byte => byte.codePointAt(0)!);
}
export function convertUint8ArrayToBase64(array: Uint8Array): string {
let latin1string = '';
// Note: regular for loop to support older JavaScript versions that
// do not support for..of on Uint8Array
for (let i = 0; i < array.length; i++) {
latin1string += String.fromCodePoint(array[i]);
}
return globalThis.btoa(latin1string);
}