对于部分场景,JS 执行需要兼容 ISO-8859-1、GBK、UTF-8 等编码场景,对 JS 代码中文需要做 unicode 的 escape 处理

参考 core-js

es.escape.js

对 127 下字符,直接返回,否则进行 unicode 转义。

0x80 即 1 字节最高位为 1 的,就需要编码

错误 case

import iconv from 'iconv-lite';

const string = `撤销退款`;
const stringBuffer = Buffer.from(string);
console.log(iconv.decode(iconv.decode(Buffer.from(`撤销退款`), 'utf-8'), 'utf-8'));

工具类

参考 unicode-escape