📄 urlencoder.js
字号:
# 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -