encodeURI、encodeURIComponent、escape都可以将某些字符转换为%加unicode编码的形式。根据其转换字符的范围不同(转换范围见下表),使用情景也有不同。[1][2]
encodeURI用于转义整个URI
,反转义用decodeURI
encodeURIComponent用于转义URI GET参数中的key、value
,反转义用decodeURIComponent
escape用于转义普通字符串
,反转义用unescape
uri保留字符(11个)
: / # ? = & + @ $ , ;
uri标记符(9个)
- _ . * ! ~ ( ) '
不转义字符 | ||
---|---|---|
encodeURI | 52个英文字母、数字 - _ . * : / # ? = & + @ $ , ; |
部分uri标记符和uri保留字符不转义 |
encodeURIComponent | 52个英文字母、数字 - _ . * ! ~ ( ) ' |
uri标记符不转义 |
escape | 52个英文字母、数字 - _ . * ' / + @ |
部分uri标记符和部分uri保留字符不转义 |
网友评论