www.pudn.com > Hook-api-mir.rar > utf8.cpp


// Copyright: www.pudn.com,程序员联合开发网,www.programsalon.com 
// 如果要使用或修改本程序,请保留次信息 
// 
/*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 ""; 
  }  
*/