我们如何实现utf8编码?

时间:2019-10-06 15:03:36

标签: javascript encoding utf-8 ascii encode

如何使用 utf8bytes = unescape(encodeURIComponent(unicodecharacters))

实现utf-8编码

据我所知,encodeURIComponent将字符串转换为UTF-8字符编码,如果是这种情况,那么我们为什么使用unescape来获取UTF-8编码。 Unescape将从ASCII返回hexadecimal encoding字符串,因此它将解码字符串。我已经推荐了这个http://xkr.us/articles/javascript/encode-compare/

1 个答案:

答案 0 :(得分:0)

不。在JavaScript中,String是UTF-16代码单元的计数序列。当您需要不同的字符编码时,可以使用不同的数据类型,例如Buffer或UInt8Array。因此,没有Unescape不会返回ASCII字符串。尽管它可能返回仅包含C0 Controls and Basic Latin个代码点的字符串。

(但是,是的,将非ASCII放入URL中(在协议,域名以及任何端口,密码和用户名之后)的非常常见的约定是对某些字节进行%编码,而对于网址中的字节数是UTF-8编码的文本。最终,它由服务器来解释。)