使用 JavaScript 的 TextEncoder 和 TextDecoder

7 Jan 2025 | 7 分钟阅读

JavaScript 的 TextEncoder 和 TextDecoder 分别是用于对给定值进行编码和解码的函数。TextEncoder 使用 JavaScript 函数将指定的字符串转换为 UTF-8 标准,将其转换为 Uint8Array。TextDecoder 使用 JavaScript 函数将特定的输入字节转换为所需代码点。它可以解码 ISO-8859-2、KOI8-R、UTF-8、GBK 等文件类型。

JavaScript TextDecoder

该函数可以使用内置的 TextDecoder 对象将值读取为 JavaScript 字符串。

语法

首先,我们可以使用以下语法来解码输入值。

  • input_label:它通常用于编码值;默认情况下是 utf-8。它还支持 big5、windows-1251 以及许多其他编码。
  • Options:这是解码器方法中的一个可选对象。
  • Fatal 是一个布尔值。如果该值为 true,它将默认排除无效(不可解码)的字符。如果值为 false,它们将被替换为字符 \uFFFD。
  • ignoreBOM 是一个布尔值,很少使用。如果布尔值为 true,则会忽略可选的字节顺序 Unicode 标记 (BOM)。

接下来是解码,它的工作原理如下:

  • "input_value" 是用于解码缓冲区源的函数所必需的输入。
  • "options" 是 decode 方法的可选对象。
  • 当解码器不断地接收输入数据时,stream 参数设置为 true,用于解码流。

示例

以下示例展示了不同类型的数据解码。

示例 1

以下示例展示了输入标签的给定对象。我们可以看到输入流或字符串的解码数据。在此示例中,默认使用 "Uint8Array" 编码的值。

输出

下图显示了输入值的解码数据。

TextEncoder and TextDecoder using JavaScript

示例 2

以下示例展示了输入标签的给定对象。我们可以看到输入流或字符串的解码数据。我们可以使用 onclick 按钮和事件来显示数据。我们可以看到大写和小写编码的数据以及其他编码信息。

输出

下图显示了输入值的解码数据。

TextEncoder and TextDecoder using JavaScript

Example3

以下示例展示了带有子数组的 TextDecoder,使用输入标签的对象。我们可以看到具有给定数组长度的输入流或字符串的解码数据。我们可以使用 onclick 按钮和事件来显示数据。

输出

下图显示了输入值的解码数据。

TextEncoder and TextDecoder using JavaScript

JavaScript TextEncoder

该函数可以使用内置的 TextDecoder 对象将值读取为 JavaScript 字符串。

语法

首先,我们可以使用以下语法来解码输入值。

  • 它只接受 "utf-8" 编码。
  • 它使用两种不同的方法:
  • encode(str) 从文本生成 Uint8Array。
  • encodeInto(str, destination):将字符串编码到指定的 Uint8Array 目标中。

其次,在 TextEncoder 方法之后使用 encode 函数。

  • 当编码器不断地接收输入数据时,编码会转换为流。

示例

以下示例展示了不同类型的数据编码。

示例 1

以下示例展示了输入标签的给定对象,这些对象已编码为所需格式。我们可以看到输入对象的编码数据来自字符串。在此示例中,默认使用 "Uint8Array" 编码的值。

输出

下图显示了输入值的编码数据。

TextEncoder and TextDecoder using JavaScript

示例 2

以下示例展示了输入标签的给定对象。我们可以看到输入流或字符串的解码数据。我们可以使用 onclick 按钮和事件来显示数据。我们可以看到大写和小写编码的数据以及其他编码信息。

输出

下图显示了输入值的编码数据。

TextEncoder and TextDecoder using JavaScript

Example3

以下示例展示了输入标签的给定对象。我们可以看到输入流或字符串的解码数据。我们可以使用 onclick 按钮和事件来显示数据。我们可以看到整个字符串的子字符串。

输出

下图显示了输入值的编码数据。

TextEncoder and TextDecoder using JavaScript

TextEncoder 和 TextDecoder 示例

以下示例展示了 JavaScript 中 TextEncoder 和 TextDecoder 的组合。

输出

下图显示了输入值的编码数据。

TextEncoder and TextDecoder using JavaScript

结论

JavaScript 中的 TextEncoder 和 TextDecoder 用于编码和解码值。它有助于保护数据的安全性和私密性。