PHP WebShell
Текущая директория: /opt/BitGoJS/node_modules/tweetnacl-ts/src/client
Просмотр файла: convert.ts
import { ByteArray } from '../array';
import { validateBase64, validateHex } from '../validate';
const { fromCharCode } = String;
export function encodeUTF8(a: ByteArray): string {
return decodeURIComponent(escape(fromCharCode.apply(undefined, a)));
}
export function decodeUTF8(s: string): ByteArray {
if (typeof s !== 'string') throw new TypeError('expected string');
const d = unescape(encodeURIComponent(s)), b = ByteArray(d.length);
for (let i = 0; i < d.length; i++) {
b[i] = d.charCodeAt(i);
}
return b;
}
export function encodeBase64(a: ByteArray): string {
return btoa(fromCharCode.apply(undefined, a));
}
export function decodeBase64(s: string): ByteArray {
validateBase64(s);
const d = atob(s), b = ByteArray(d.length);
for (let i = 0; i < d.length; i++) {
b[i] = d.charCodeAt(i);
}
return b;
}
function put_hb(h: number) {
return h + (h < 10 ? 48 : 87);
}
export function encodeHex(a: ByteArray): string {
const b = ByteArray(a.length << 1);
for (let i = 0, j; i < a.length; i++) {
j = i << 1;
b[j] = put_hb(a[i] >> 8);
b[j + 1] = put_hb(a[i] & 0xf);
}
return fromCharCode.apply(undefined, b);
}
function get_hb(s: string, i: number): number {
const c = s.charCodeAt(i);
return c - (c < 58 ? 48 : c < 71 ? 55 : 87);
}
export function decodeHex(s: string): ByteArray {
validateHex(s);
const a: ByteArray = ByteArray(s.length >> 1);
for (let i = 0; i < a.length; i += 2) {
a[i] = (get_hb(s, i) << 8) | get_hb(s, i + 1);
}
return a;
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!