客户端的urlencode和dencode

urlencode解码:
<script language=vbscript>
Function vbChar(str)
vbChar=chr(str)
End Function
Function uc(str)
  uc=hex(ascW(str))
End Function
</script>
<script language=javascript>
var glbEncode=new Array();
function reCode(str) {
  var str=str.replace(/%([A-Z].)%(.{2})/g,"@$1$2").replace(/\+/g,"%20");
  var t=str.split("@"),k,l=t.length;
for(var i=1;i<l;i++) {
  k=t.substring(0,4);
  if(!glbEncode[k])
  glbEncode[k]=uc(vbChar(eval("0x"+k)));
  t=glbEncode[k]+t.substring(4);
}
str=unescape(t.join("%u"));
return str;
}
document.write(reCode("%D0%A1+%C7%E0%2C%CE%D2%B0%AE%C4%E3"))
</script>
urlencode加码:
<script language=vbscript>
Function vbChar(str)
vbChar=chrW(str)
End Function
Function reHex(str)
reHex=hex(asc(str))
End Function
</script>
<script language=javascript>
var glbEncode=new Object();
function urlEncode(str) {
  str=escape(str).replace(/%u(.{4})/g,"@$1").replace(/%20/g,"+");
  var t=str.split("@"),l=t.length,k;
  for(var i=1;i<l;i++) {
    k=t.substring(0,4);
    if(!glbEncode[k])
    glbEncode[k]=reHex(vbChar(eval("0x"+k))).replace(/(.{2})(.{2})/g,"%$1%$2");
    t=glbEncode[k]+t.substring(4);
  }
  return t.join("");
}
var str="小 青,我爱你";
document.write(urlEncode(str))
</script>
原理:
urlencode跟escape除了空格和字符值大于 255 的编码不一样其他都一样
posted on 2006-10-16 00:49 汪杰 阅读(44) 评论(1)  编辑 收藏 引用 所属分类: ajax

FeedBack:
# re: 客户端的urlencode和dencode
2006-10-16 15:54 | 汪杰
<script language=vbscript>
Function vbChar(str)
vbChar=chr(str)
End Function
Function toHex(str)
toHex=hex(ascW(str))
End Function
</script>
<script language=javascript>
var glb=[];
function deUrlencode(str) {
str=str.replace(/%([A-Z].)%(.{2})/g,"@$1$2").replace(/\+/g,"%20");
var t=str.split("@"),l=t.length,k;
for(var i=1;i<l;i++) {
k=t.substring(0,4);
if(!glb[k])
glb[k]=toHex(vbChar(eval("0x"+k)));
t=glb[k]+t.substring(4);
}
return unescape(t.join("%u"));
}
alert(deUrlencode("%B7%EF%BB%CB"));
</script>

AddThis Social Bookmark Button

相关文档(Relevant Entries)
javascript常用日期验证
免费的Javascript日期输入及选择控件大杂烩!
JavaScript常用检测脚本
JS正则表达式的用法
JAVASCRIPT的常用技术(三)
JAVASCRIPT的常用技术(二)
JAVASCRIPT的常用技术(一)
自适应图片大小的窗口
Posted on August 13, 2007 12:03 PM | | | Comments (0) | | TrackBacks (0)

引用地址(TRACKBACKS)
 
TrackBack URL for this entry:
http://www.wujianrong.com/mt-tb.cgi/5842

发布评论(ADD YOUR COMMENTS)
 
感谢您参与评论;发表您的意见时请保持文章的相关性;不相关的或是单纯宣传的内容可能会被删掉。您的E-mail只是用来确认您发表的文章,不会出现在网页上。
Please keep your comments relevant to this blog entry. Email addresses are never displayed, but they are required to confirm your comments.

称呼(Name):      记住我的个人信息(Remember)
邮箱(Email):
网址(URL):
评论(Add your comments):

相关内容
广告计划