@yanshouwang/core
Version:
Core Lib of TypeScript
32 lines (31 loc) • 798 B
JavaScript
class ASCII {
decode(codes) {
let str = "";
for (let i = 0; i < codes.length; i++) {
const code = codes[i];
if (code < 0x80) {
str += String.fromCharCode(code);
}
else {
throw new RangeError();
}
}
return str;
}
encode(str) {
const items = [];
for (let i = 0; i < str.length; i++) {
const code = str.charCodeAt(i);
// UTF-16 编码范围 : 0 - 0xFFFF
// ASCII 编码范围 : 0 - 0x7F
if (code < 0x80) {
items.push(code);
}
else {
throw new RangeError();
}
}
return new Uint8Array(items);
}
}
export { ASCII };