urlencoder.js
来自「加密URL 对URL进行编码 就像baidu google一样」· JavaScript 代码 · 共 52 行
JS
52 行
# language: JSVM2
/**
* @fileoverview com.dsonet.net.UriEncoder class {@link http://www.shareidea.net/}
* @file UriEncoder.jsc
* @author DSONet
*/
package com.dsonet.net;
import com.homolo.commons.codec.GB2312Codec;
class URLEncoder(){
};
URLEncoder.encode=function (str){
var i,c,ret="",strSpecial="!\"#$%&'()*+,/:;<=>?@[\]^`{|}~%";
for(i=0;i<str.length;i++){
if(str.charCodeAt(i)>=0x4e00){
c=GB2312Codec.encode(str.charAt(i));
ret+=("%"+c.slice(0,2)+"%"+c.slice(-2)).toUpperCase();
}
else{
c=str.charAt(i);
if(c==" ")
ret+="+";
else if(strSpecial.indexOf(c)!=-1)
ret+="%"+str.charCodeAt(i).toString(16);
else
ret+=c;
}
}
return ret;
};
URLEncoder.decode=function (str){
var c,i,asc,ret="";
for(i=0;i<str.length;i++){
var c = str.charAt(i);
if(c == "+"){
ret+=" ";
}else if(c=="%"){
asc = (str.substring(i+1,i+3)).toLowerCase();
if(parseInt("0x"+asc)>0x7f){
ret+=GB2312Codec.decode(asc+(str.substring(i+4,i+6)).toLowerCase());
i+=5;
}else{
ret+=String.fromCharCode('0x'+asc);
i+=2;
}
}else{
ret+= c;
}
}
return ret;
};
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?