Encoding API-相关接口

1. 概述

Encoding API 提供了一种机制来处理各种字符编码文本,包括传统的非 UTF-8 编码。

该API提供了四个接口:

  • TextDecoder
  • TextEncoder
  • TextDecoderStream
  • TextEncoderStream

2. 接口

2.1 TextDecoder

TextDecoder 接口表示一个文本解码器,一个解码器只支持一种特定文本编码,例如 UTF-8ISO-8859-2KOI8-RGBK,等等。解码器将字节流作为输入,并提供码位流作为输出。

构造函数

  • TextDecoder()

返回一个新构造的 TextDecoder,它使用参数中指定的解码方法生成码位流。

new TextDecoder()
new TextDecoder(utfLabel)
new TextDecoder(utfLabel, options)

参数:

  • utfLabel 可选 。一个字符串,默认是 "utf-8"。可以是任意有效的编码

  • options 可选。 一个具有属性的对象:fatal 一个布尔值,表示在解码无效数据时,TextDecoder.decode() 方法是否必须抛出 TypeError。默认是 false,这意味着解码器将用替换字符替换错误的数据。

如下例子:

const textDecoder1 = new TextDecoder("iso-8859-2");
const textDecoder2 = new TextDecoder();
const textDecoder3 = new TextDecoder("csiso2022kr", {
    fatal: true }); // Allows TypeError exception to be thrown.
const textDecoder4 = new TextDecoder("iso-2022-cn"); // Throw a RangeError exception.

属性

TextDecoder 接口不继承任何属性。

  • TextDecoder.prototype.encoding只读

    一个包含的解码器名称的字符串,即描述 TextDecoder 将使用的方法的字符串。

  • TextDecoder.prototype.fatal只读

    一个布尔值,表示错误模式是否致命。

  • TextDecoder.prototype.ignoreBOM 只读

    一个布尔值,表示是否忽略字节顺序标记(BOM) 标记。如果字节顺序标记被忽略,则是 true;否则是 false

方法

TextDecoder.decode()

TextDecoder.decode()  方法返回一个字符串,其包含作为参数传递的缓冲区解码后的文本。

解码方法在当前的 TextDecoder 对象中定义。这包含了数据的预期编码,以及如何处理解码时发生的错误。

decode()
decode(buffer)
decode(buffer, options)

参数:

  • buffer 可选。一个 ArrayBufferTypedArray 或包含要解码的编码文本的 DataView 对象。

  • options 可选。具有以下属性的对象: stream一个布尔标志,表示在后续调用 dec

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值