ethers.js/src.ts/utils/base64-browser.ts

26 lines
622 B
TypeScript
Raw Normal View History

2022-09-05 23:14:43 +03:00
// utils/base64-browser
import { getBytes } from "./data.js";
2022-09-05 23:14:43 +03:00
import type { BytesLike } from "./data.js";
export function decodeBase64(textData: string): Uint8Array {
textData = atob(textData);
const data = new Uint8Array(textData.length);
for (let i = 0; i < textData.length; i++) {
data[i] = textData.charCodeAt(i);
}
return getBytes(data);
2022-09-05 23:14:43 +03:00
}
export function encodeBase64(_data: BytesLike): string {
const data = getBytes(_data);
2022-09-05 23:14:43 +03:00
let textData = "";
for (let i = 0; i < data.length; i++) {
textData += String.fromCharCode(data[i]);
}
return btoa(textData);
}