Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

encodeURI()和encodeURIComponent() #7

Open
ScoutYin opened this issue Apr 21, 2018 · 0 comments
Open

encodeURI()和encodeURIComponent() #7

ScoutYin opened this issue Apr 21, 2018 · 0 comments
Labels

Comments

@ScoutYin
Copy link
Owner

encodeURI() 函数通过将特定字符的每个实例替换为一个、两个、三或四转义序列来对统一资源标识符 (URI) 进行编码 (该字符的 UTF-8 编码仅为四转义序列)由两个 "代理" 字符组成)。

encodeURI(URI)
  • 参数URI为一个完整的URI
  • 返回值为一个新字符串, 表示提供的字符串编码为统一资源标识符 (URI)。

encodeURI 会替换所有的字符,但不包括以下字符,即使它们具有适当的UTF-8转义序列:

  • 保留字符: ; , / ? : @ & = + $
  • 非转义的字符: 字母 数字 - _ . ! ~ * ' ( )
  • 数字符号:#
encodeURI('https://www.baidu.com/ a b c')
// "https://www.baidu.com/%20a%20b%20c"

encodeURI 自身无法产生能适用于HTTP GET 或 POST 请求的URI,例如对于 XMLHTTPRequests, 因为 "&", "+", 和 "=" 不会被编码,然而在 GET 和 POST 请求中它们是特殊字符。然而encodeURIComponent这个方法会对这些字符编码。

encodeURIComponent()是对统一资源标识符(URI)的组成部分进行编码的方法。它使用一到四个转义序列来表示字符串中的每个字符的UTF-8编码(只有由两个Unicode代理区字符组成的字符才用四个转义字符编码)。

encodeURIComponent 转义除了字母、数字、().!~*'-_之外的所有字符。

encodeURIComponent('https://www.baidu.com/ a b c')
// "https%3A%2F%2Fwww.baidu.com%2F%20a%20b%20c"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant