如何使用 utf8bytes = unescape(encodeURIComponent(unicodecharacters))
实现utf-8编码据我所知,encodeURIComponent
将字符串转换为UTF-8字符编码,如果是这种情况,那么我们为什么使用unescape来获取UTF-8编码。 Unescape将从ASCII
返回hexadecimal encoding
字符串,因此它将解码字符串。我已经推荐了这个http://xkr.us/articles/javascript/encode-compare/
答案 0 :(得分:0)
不。在JavaScript中,String是UTF-16代码单元的计数序列。当您需要不同的字符编码时,可以使用不同的数据类型,例如Buffer或UInt8Array。因此,没有Unescape不会返回ASCII字符串。尽管它可能返回仅包含C0 Controls and Basic Latin个代码点的字符串。
(但是,是的,将非ASCII放入URL中(在协议,域名以及任何端口,密码和用户名之后)的非常常见的约定是对某些字节进行%编码,而对于网址中的字节数是UTF-8编码的文本。最终,它由服务器来解释。)