TextEncoder 与 TextDecoder 字符编码转换
TextEncoder 和 TextDecoder 的作用是什么?如何将字符串编码为 UTF-8 字节数组,以及将字节数组解码为字符串?其他编码(如 GBK)如何处理?
回答
古法程序员
TextEncoder: new TextEncoder().encode('你好') -> Uint8Array([228, 189, 160, ...])。只支持 UTF-8。TextDecoder: new TextDecoder('utf-8').decode(uint8Array)。支持多种: utf-8、utf-16le、utf-16be、iso-8859-2 等。fatal:true 非法字符抛异常。stream:true 分片解码。GBK/GB2312 需 polyfill(text-encoding 库)。常见: 文件上传、WebSocket 二进制数据、Crypto API。注意: TextEncoder 始终输出 UTF-8。