六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 39|回复: 0

js EncodeUtf8

[复制链接]

升级  74%

45

主题

45

主题

45

主题

秀才

Rank: 2

积分
161
 楼主| 发表于 2013-1-27 05:18:39 | 显示全部楼层 |阅读模式
function EncodeUtf8(s1)  {      var s = escape(s1);      var sa = s.split("%");      var retV ="";      if(sa[0] != "")      {         retV = sa[0];      }      for(var i = 1; i < sa.length; i ++)      {           if(sa[i].substring(0,1) == "u")           {               retV += Hex2Utf8(Str2Hex(sa[i].substring(1,5)));                          }           else retV += "%" + sa[i];      }            return retV;  }  function Str2Hex(s)  {      var c = "";      var n;      var ss = "0123456789ABCDEF";      var digS = "";      for(var i = 0; i < s.length; i ++)      {         c = s.charAt(i);         n = ss.indexOf(c);         digS += Dec2Dig(eval(n));                 }      //return value;      return digS;  }  function Dec2Dig(n1)  {      var s = "";      var n2 = 0;      for(var i = 0; i < 4; i++)      {         n2 = Math.pow(2,3 - i);         if(n1 >= n2)         {            s += '1';            n1 = n1 - n2;          }         else          s += '0';                }      return s;        }  function Dig2Dec(s)  {      var retV = 0;      if(s.length == 4)      {          for(var i = 0; i < 4; i ++)          {              retV += eval(s.charAt(i)) * Math.pow(2, 3 - i);          }          return retV;      }      return -1;  }   function Hex2Utf8(s)  {     var retS = "";     var tempS = "";     var ss = "";     if(s.length == 16)     {         tempS = "1110" + s.substring(0, 4);         tempS += "10" +  s.substring(4, 10);          tempS += "10" + s.substring(10,16);          var sss = "0123456789ABCDEF";         for(var i = 0; i < 3; i ++)         {            retS += "%";            ss = tempS.substring(i * 8, (eval(i)+1)*8);                                                retS += sss.charAt(Dig2Dec(ss.substring(0,4)));            retS += sss.charAt(Dig2Dec(ss.substring(4,8)));         }         return retS;     }     return "";  }  
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表