最近做了一个上传进度条模块,需要取得返回的url,但是无奈,取得的是乱码,于是在服务器端把返回的url进行encode编码,然后在js中进行解码,一开始采用的是decodeURI(),如下图所示,发现中文乱码问题是解决了,但是无法对 “://”这些字符进行解码。
查看w3school
也就是说在js中encodeURI()不会对":","/"等特殊含义的ASCII进行编码,同样也不会解码啦。
所以可以认为js中的解码decodeComponent()才是和java代码中的URLEncoder.encode()对应;