将 ISO-8859-1 编码转换为 UTF-8 编码可以使用 JavaScript 的内置函数
TextDecoder
和
TextEncoder
。
具体步骤如下:
将 ISO-8859-1 字符串转换为字节数组:
const bytes = new TextEncoder().encode(iso88591String);
使用 TextDecoder
将字节数组转换为 UTF-8 字符串:
const utf8String = new TextDecoder("utf-8").decode(bytes);
完整的代码示例:
const iso88591String = "你好,世界!";
const bytes = new TextEncoder().encode(iso88591String);
const utf8String = new TextDecoder("utf-8").decode(bytes);
console.log(utf8String); // 输出:你好,世界!
需要注意的是,如果 ISO-8859-1 字符串中包含无法转换为 UTF-8 的字符,这些字符将被替换为 REPLACEMENT CHARACTER(U+FFFD)。
另外,如果你使用的是老版本的浏览器或者 Node.js,可能不支持 TextEncoder
和 TextDecoder
函数,可以考虑使用第三方库如 iconv-lite
进行编码转换。