📅  最后修改于: 2023-12-03 14:40:12.383000             🧑  作者: Mango
TextEncoder
类介绍TextEncoder
是 JavaScript 的一个内置类,用于将 Unicode 字符串编码为 UTF-8 字节数组。
TextEncoder
实例要使用 TextEncoder
类,只需创建一个实例,如下所示:
const utf8Encoder = new TextEncoder();
通过 TextEncoder
实例的 encode()
方法,可以将文本编码为 UTF-8 字节数组。
const text = "Hello, World!";
const utf8Bytes = utf8Encoder.encode(text);
encode()
方法返回一个 Uint8Array
对象,其中包含了编码后的 UTF-8 字节数组。
下面的示例演示了如何使用 TextEncoder
类将多个文本编码为 UTF-8 字节数组。
const utf8Encoder = new TextEncoder();
const texts = ["Hello", "你好", "こんにちは"];
for (const text of texts) {
const utf8Bytes = utf8Encoder.encode(text);
console.log(`"${text}" in UTF-8:`, utf8Bytes);
}
输出结果如下:
"Hello" in UTF-8: Uint8Array(5) [
72, 101, 108, 108, 111
]
"你好" in UTF-8: Uint8Array(6) [
228, 189, 160, 229, 165, 189
]
"こんにちは" in UTF-8: Uint8Array(15) [
227, 129, 147, 227, 129, 147, 227, 129, 147, 227, 130, 185, 227,
129, 171
]
在上面的示例中,我们创建了一个 TextEncoder
实例,并使用它将文本编码为 UTF-8 字节数组。你可以看到,每个字符都被编码为多个字节。
TextEncoder
类在大多数现代浏览器中可用,但不支持 Internet Explorer。TextEncoder
的 encode()
方法仅接受字符串作为参数,你无法直接传递其他值,如数组或对象。你可以使用 JSON.stringify()
将这些类型转换为字符串,然后再编码。TextEncoder
使用的是 UTF-8 编码,如果需要使用其他编码,可以考虑使用第三方库或其他辅助工具。以上就是 TextEncoder
类的介绍和使用示例,希望对你的开发工作有所帮助!