Javascript中的encodeURI与encodeURIComponent
文章目录
Javascript中encodeURI和encodeURIComponent两个方法都是encode URI的,但是究竟有什么区别,下面将详细说明区别及使用场景。
差异
encodeURI
encode所有的字符,除了下面的字符
A-Za-z0-9;,/?:@&=+$-_.!~*‘( ) #
encodeURIComponent
encode所有字符。除了下面的字符
A-Za-z0-9-_.!~*‘( )
两者差异
encodeURIComponent encode的字符多于encodeURI的字符
; , / ? : @ & = + $#
使用场景
encodeURIComponent
当encode内容作为 URI 的参数值时,使用encodeURIComponent
1 2 3 4 5 |
var uri = "https://binbean.github.io/q=" + encodeURIComponent("苹果") //encode后的内容 https://binbean.github.io/q=%E8%8B%B9%E6%9E%9C var deepUri = "app://webview?url=" + encodeURIComponent("https://binbean.github.io/?q=%E8%8B%B9%E6%9E%9C&from=direct") //encode后的内容 app://webview?url=https%3A%2F%2Fbinbean.github.io%2F%3Fq%3D%25E8%258B%25B9%25E6%259E%259C%26from%3Ddirect |
encodeURI
当encode的内容是独立的URI,不作为其他URI附属时,使用encodeURI
1 2 |
var uri = encodeURI("https://binbean.github.io/q=苹果") //encode后的内容 https://binbean.github.io/q=%E8%8B%B9%E6%9E%9C |
文章作者 binbin wen
上次更新 2019-11-19