JavaScript中的escape


本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/11/17/JavaScript%E4%B8%AD%E7%9A%84escape/

摘要

本文主要讲述了:

  1. 作用
  2. 如何编码

正文

作用

escape()用于将 UTF-16 字符串转换为 UTF-16BE 的转义序列。

注意:虽然 ECMAScript 标准没有废弃escape(),但也不再推荐开发者使用它。

如何编码

escape()将编码除了下列字符之外的所有字符:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@*_+-./

  • 若字符串的 Unicode 码点小于等于U+00FF,则将其 UTF-16BE 编码的十六进制写作%xx格式
  • 若字符串的 Unicode 码点大于U+00FF且小于等于U+D7FF,则将其 UTF-16BE 编码的十六进制写作%uxxxx格式
  • 若字符串的 Unicode 码点大于等于U+E000且小于等于U+FFFF,则将其 UTF-16BE 编码的十六进制写作%uxxxx格式
  • 若字符串的 Unicode 码点大于等于U+10000且小于等于U+10FFFF,则将其 UTF-16BE 编码的十六进制写作%uxxxx%uxxxx格式

示例:&的 Unicode 码点为U+0026,其 UTF-16BE 编码的十六进制为00 26

1
console.log(escape('&')); //"%26"

示例:的 Unicode 码点为U+4E2D,其 UTF-16BE 编码的十六进制为4E 2D

1
console.log(escape('中')); //"%u4E2D"

示例:😊的 Unicode 码点为U+1F60A,其 UTF-16BE 编码的十六进制为D8 3D DE 0A

1
console.log(escape('😊')); //"%uD83D%uDE0A"

参考资料

本文作者: jsweibo

本文链接: https://jsweibo.github.io/2019/11/17/JavaScript%E4%B8%AD%E7%9A%84escape/


本文对你有帮助?请支持我


支付宝
微信