URL Percent-encoding 编码与解码,支持中文字符
URL 编码(也称百分号编码,Percent-encoding)是一种将 URL 中的特殊字符转换为 % 加两位十六进制数格式的编码机制。根据 RFC 3986 标准,URL 中只允许包含 ASCII 字符的一个子集,其他字符(如中文、空格、特殊符号)必须进行编码。
在 JavaScript 中,encodeURIComponent() 函数用于对 URL 的查询参数进行编码,它会对除了 A-Z a-z 0-9 - _ . ! ~ * ' ( ) 之外的所有字符进行编码。encodeURI() 则保留 URL 结构字符(如 : / ? # & =)。
常见的 URL 编码场景包括:AJAX 请求参数编码、URL 中的中文路径处理、OAuth 签名中的参数编码等。
输入:你好世界 → 输出:%E4%BD%A0%E5%A5%BD%E4%B8%96%E7%95%8C
输入:hello world! → 输出:hello%20world!