把中文字符转换成Utf8编码

编码|中文|转换

//--------把中文字符转换成Utf8编码------------------------//
 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 "";
  }

时间: 2024-10-30 05:08:19

把中文字符转换成Utf8编码的相关文章

使用Java将中文字符转换成Unicode编码

  这两天操作XML使用到了Jdom,在创建XML文件并输出到硬盘的时候遇到一个中文编码的问题:Jdom默认输出的XML编码是UTF-8,但是文档中如果出现中文字符那么该中文字符就会变成乱码,造成XML文件无法被正确解析. UTF-8应该是可以用来表示中文的吧?我不知道这是不是Jdom的一个BUG(Jdom 1.0,beta了10次的产物哦!).我google了一下,大家解决这个问题的办法无非是把Jdom的输出字符集改为GBK或者GB2312,但是这样就会有一些副作用,如果在没有特定字符集(GB

asp 过滤html 敏感字符转换成html编码函数

asp教程 过滤html 敏感字符转换成html编码函数 '本款函数是根据用户传入的参数然后一个个遍历再把html敏感字符转换成html编码形式,这样就过滤敏感html哦. function htmlencode2(str)     dim result     dim l     if isnull(str) then        htmlencode2=""        exit function     end if     l=len(str)     result=&qu

请大家帮忙,要用C#做个小工具,把EXCEL文档导入,然后转换成UTF-8编码的txt文档,怎么做啊?

问题描述 请大家帮帮忙,帮我解答一下.我要用C#做个小工具.导入EXCEL文档,然后导出成UTF-8编码的TXT文档.现在有几个问题想求教.1.怎么把EXCEL文档转换成UTF-8的txt文档?2.EXCEL文档是什么编码格式啊?3.要如何才能判断一段字符是何种编码?4.由于EXCEL文档中可能存在乱码,要如何才能判断这段字符是乱码或者不是乱码? 解决方案 解决方案二:用oledb方式把excel文件读入dataTable,再用encoding.utf8写入文本文件.解决方案三:有难度,不会解决

Python遍历路径下文件并转换成UTF-8编码

 代码如下 复制代码 import sys import string import os def detect_nowalk(dir_path):     files = os.listdir(dir_path)     for filename in files:         print "file:%sn" % filename         next = os.path.join(dir_path, filename)         if os.path.isdir(n

ASP+FSO生成的网页文件默认编码格式以及转换成UTF-8编码方法_应用技巧

具体特征如下: 1.通过模板实现俄文正常. 2.通过后台数据库生成的静态俄文信息,后台显示正常, 前台乱码. 3.英文正常. 和该主题相关的类似或不同表达 FSO写UTF-8编码文件 FSO怎么才能生成utf-8编码的文件 FSO生成的文件默认是什么编码格式 如何转换成UTF-8编码 FSO生成静态网页的问题 ASP中用FSO生成文件代码如下 复制代码 代码如下: function createfile(sfilename,scontent) set fso=server.CreateObjec

偶数汉字转utf-8-VB将汉字字符串转换成 UTF-8格式

问题描述 VB将汉字字符串转换成 UTF-8格式 VB将汉字字符串转换成 UTF-8格式后按照JSON格式提交给服务器,偶数个汉字没有问题,但奇数个汉字时,会有问题,请大师指导. Private Declare Function MultiByteToWideChar Lib "kernel32 " (ByVal CodePage As Long, ByVal dwFlags As Long, ByVal lpMultiByteStr As Long, ByVal cchMultiBy

php将中文字符转变成unicode编码方式

问题描述 php将中文字符转变成unicode编码方式 假设在PHP中: $test="select top(1) AGG_TABLE0.day,AGG_TABLE0.subNet,AGG_TABLE0.location,AGG_TABLE0.不支持中文relation,cast(100*pmHoPrepSucc /pmHoPrepAtt*(pmHoExeSucc/pmHoExeAtt) as decimal(18,2)) as 'eSrvcc不支持中文',cast(1...": 怎么

用Javascript实现UTF8编码转换成gb2312编码_javascript技巧

复制代码 代码如下: //把编码转换成 gb2312编码  function UrlEncode(str)  {  var i, c, ret="", strSpecial="!\"#$%&'()*+,/:;<=>?@[\]^`{|}~%";  for(i = 0; i < str.length; i++)  {  //alert(str.charCodeAt(i));  c = str.charAt(i);  if(c==&qu

unicode编码转换:PHP将汉字转换成Unicode编码的函数

这是一个将汉字转换成Unicode编码的PHP函数,支持GBK和UTF8编码.function uni_decode ($uncode){$word = json_decode(preg_replace_callback('/(\d{5});/', create_function('$dec', 'return \'\\u\'.dechex($dec[1]);'), '"'.$uncode.'"'));return $word;}对 Unicode 转换为汉字function uni_