• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    UTF-8 Unicode Ansi 汉字GB2321几种编码转换程序
    今天搞sxna,遇到了编码转换的难题,搞了一个多小时,历尽千辛万苦,总算总结了如下的汉字转换为各种UTF-8 Unicode Ansi编码的程序.不敢独享,特此奉献给各位编程爱好者!


    --------------------------------------------------------------------------------
    符合GOOGLE的UTF编码 
    汉字 经过encodeURIComponent变成 %E6%B1%89%E5%AD%97 

    %E6%B1%89%E5%AD%97经过decodeURIComponent变成汉字 

    用google搜索"汉字":
    http://www.google.com/search?hl=zh-CNq=%E6%B1%89%E5%AD%97

    符合BAIDU的UTF-8编码 
    汉字 经过 AnsiCode 变为 %BA%BA%D7%D6 

    BA%BA%D7%D6 经过 DeCodeAnsi 变为 汉字 

    用baidu搜索"汉字":
    http://www.baidu.com/baidu?word=%BA%BA%D7%D6


    --------------------------------------------------------------------------------

    汉字经过chinese2unicode变为#x6C49;#x5B57;

    #x6C49;#x5B57;经过UTF2GB变为汉字


    --------------------------------------------------------------------------------

    test.asp 原程序如下
    (下载源程序 http://www.dc9.cn/upload/test.rar)
    复制代码 代码如下:

    UTF-8 Unicode Ansi 汉字GB2321几种编码转换程序

    今天搞sxna,遇到了编码转换的难题,找了一个多小时,历尽千辛万苦,总算总结了如下的汉字转换为各种UTF-8 Unicode Ansi编码的程序.不敢独享,特此奉献给各位编程爱好者!

    script language="JAVASCRIPT" runat="server">
    var ss;
    var dd;
    ss=decodeURIComponent("%E6%B1%89%E5%AD%97");
    dd=encodeURIComponent("汉字");
    /script>
    符合GOOGLE的UTF编码
    p>
    汉字 经过encodeURIComponent变成
    %=dd%>
    /p>
    p>
    %E6%B1%89%E5%AD%97经过decodeURIComponent变成
    %=ss%>
    /p>


    script language="vbscript" runat="server">
      Function AnsiCode(vstrIn)
        Dim i, strReturn, innerCode, ThisChr
        Dim Hight8, Low8
        strReturn = "" 
        For i = 1 To Len(vstrIn) 
          ThisChr = Mid(vStrIn,i,1) 
          If Abs(Asc(ThisChr))  HFF Then 
            strReturn = strReturn  ThisChr 
          Else
            innerCode = Asc(ThisChr)
            If innerCode  0 Then
              innerCode = innerCode + H10000
            End If
            Hight8 = (innerCode And HFF00) \&;HFF
            Low8 = innerCode And HFF
            strReturn = strReturn  "%"  Hex(Hight8)  "%"  Hex(Low8)
          End If 
        Next 
        AnsiCode = strReturn 
      End Function

      Function DeCodeAnsi(s)
        Dim i, sTmp, sResult, sTmp1
        sResult = ""
        For i=1 To Len(s)
          If Mid(s,i,1)="%" Then
            sTmp = "H"  Mid(s,i+1,2)
            If isNumeric(sTmp) Then
              If CInt(sTmp)=0 Then
                i = i + 2
              ElseIf CInt(sTmp)>0 And CInt(sTmp)128 Then
                sResult = sResult  Chr(sTmp)
                i = i + 2
              Else
                If Mid(s,i+3,1)="%" Then
                  sTmp1 = "H"  Mid(s,i+4,2)
                  If isNumeric(sTmp1) Then
                    sResult = sResult  Chr(CInt(sTmp)*16*16 + CInt(sTmp1))
                    i = i + 5
                  End If
                Else
                  sResult = sResult  Chr(sTmp)
                  i = i + 2
                End If
              End If
            Else
              sResult = sResult  Mid(s,i,1)
            End If
          Else
            sResult = sResult  Mid(s,i,1)
          End If
        Next
        DeCodeAnsi = sResult
      End Function
    /script>
    符合BAIDU的UTF-8编码
    p>
    汉字 经过 AnsiCode 变为 
    %=AnsiCode("汉字")%>
    /p>
    p>
    %BA%BA%D7%D6 经过 DeCodeAnsi 变为 
    %=DeCodeAnsi("%BA%BA%D7%D6 ")%>
    /p>

    %
    '汉字转换为UTF-8
    function chinese2unicode(Str) 
      dim i 
      dim Str_one 
      dim Str_unicode 
      for i=1 to len(Str) 
        Str_one=Mid(Str,i,1) 
        Str_unicode=Str_unicodechr(38) 
        Str_unicode=Str_unicodechr(35) 
        Str_unicode=Str_unicodechr(120) 
        Str_unicode=Str_unicode Hex(ascw(Str_one)) 
        Str_unicode=Str_unicodechr(59) 
      next 
      chinese2unicode=Str_unicode 
    end function  





    'UTF-8 To GB2312

    function UTF2GB(UTFStr)
        for Dig=1 to len(UTFStr)
            if mid(UTFStr,Dig,1)="%" then
                if len(UTFStr) >= Dig+8 then
                    GBStr=GBStr  ConvChinese(mid(UTFStr,Dig,9))
                    Dig=Dig+8
                else
                    GBStr=GBStr  mid(UTFStr,Dig,1)
                end if
            else
                GBStr=GBStr  mid(UTFStr,Dig,1)
            end if
        next
        UTF2GB=GBStr
    end function 


    function ConvChinese(x) 
        A=split(mid(x,2),"%")
        i=0
        j=0

        for i=0 to ubound(A) 
            A(i)=c16to2(A(i))
        next

        for i=0 to ubound(A)-1
            DigS=instr(A(i),"0")
            Unicode=""
            for j=1 to DigS-1
                if j=1 then 
                    A(i)=right(A(i),len(A(i))-DigS)
                    Unicode=Unicode  A(i)
                else
                    i=i+1
                    A(i)=right(A(i),len(A(i))-2)
                    Unicode=Unicode  A(i) 
                end if 
            next

            if len(c2to16(Unicode))=4 then
                ConvChinese=ConvChinese  chrw(int("H"  c2to16(Unicode)))
            else
                ConvChinese=ConvChinese  chr(int("H"  c2to16(Unicode)))
            end if
        next
    end function

    function c2to16(x)
        i=1
        for i=1 to len(x)  step 4 
            c2to16=c2to16  hex(c2to10(mid(x,i,4))) 
        next
    end function 

    function c2to10(x)
        c2to10=0
        if x="0" then exit function
        i=0
        for i= 0 to len(x) -1
            if mid(x,len(x)-i,1)="1" then c2to10=c2to10+2^(i)
        next 
    end function

    function c16to2(x)
        i=0
        for i=1 to len(trim(x)) 
            tempstr= c10to2(cint(int("h"  mid(x,i,1))))
            do while len(tempstr)4
            tempstr="0"  tempstr
            loop
            c16to2=c16to2  tempstr
        next
    end function

    function c10to2(x)
        mysign=sgn(x)
        x=abs(x)
        DigS=1
        do 
            if x2^DigS then
                exit do
            else
                DigS=DigS+1
            end if
        loop
        tempnum=x

        i=0
        for i=DigS to 1 step-1
            if tempnum>=2^(i-1) then
                tempnum=tempnum-2^(i-1)
                c10to2=c10to2  "1"   
            else
                c10to2=c10to2  "0"
            end if
        next
        if mysign=-1 then c10to2="-"  c10to2
    end function
    %>
    P>汉字经过chinese2unicode变为
    %=chinese2unicode("汉字")%>(需要察看源代码,浏览器已经直接翻译)
    /p>
    p>汉字经过UTF2GB变为
    %=UTF2GB("汉字")%>(需要察看源代码,浏览器已经直接翻译) 


    另外在网上发现了一个不错的编码转换小站
    http://www.dheart.net/bmzh/index.php
    您可能感兴趣的文章:
    • utf8和unicode编码究竟是什么关系?有何区别?
    • Encode/DecodeANSIlt;-gt;UTF8两个编码工具 下载
    • 浅析c++ 宏 #val 在unicode下的使用
    • 浅析内存对齐与ANSI C中struct型数据的内存布局
    • java实现十六进制字符unicode与中英文转换示例
    • Mysql中的排序规则utf8_unicode_ci、utf8_general_ci的区别总结
    • Unicode编码大揭秘
    • VC中实现GB2312、BIG5、Unicode编码转换的方法
    • C语言中字符和字符串处理(ANSI字符和Unicode字符)
    上一篇:ASP程序给上传的图片增添水印效果!
    下一篇:[转]XMLHTTPRequest的属性和方法简介
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    UTF-8 Unicode Ansi 汉字GB2321几种编码转换程序 UTF-8,Unicode,Ansi,汉字,GB2321,