主頁(yè) > 知識(shí)庫(kù) > UTF-8 Unicode Ansi 漢字GB2321幾種編碼轉(zhuǎn)換程序

UTF-8 Unicode Ansi 漢字GB2321幾種編碼轉(zhuǎn)換程序

熱門標(biāo)簽:服務(wù)器配置 科大訊飛語(yǔ)音識(shí)別系統(tǒng) 阿里云 團(tuán)購(gòu)網(wǎng)站 Linux服務(wù)器 銀行業(yè)務(wù) Mysql連接數(shù)設(shè)置 電子圍欄
今天搞sxna,遇到了編碼轉(zhuǎn)換的難題,搞了一個(gè)多小時(shí),歷盡千辛萬(wàn)苦,總算總結(jié)了如下的漢字轉(zhuǎn)換為各種UTF-8 Unicode Ansi編碼的程序.不敢獨(dú)享,特此奉獻(xiàn)給各位編程愛好者!


--------------------------------------------------------------------------------
符合GOOGLE的UTF編碼 
漢字 經(jīng)過(guò)encodeURIComponent變成 %E6%B1%89%E5%AD%97 

%E6%B1%89%E5%AD%97經(jīng)過(guò)decodeURIComponent變成漢字 

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

符合BAIDU的UTF-8編碼 
漢字 經(jīng)過(guò) AnsiCode 變?yōu)?nbsp;%BA%BA%D7%D6 

BA%BA%D7%D6 經(jīng)過(guò) DeCodeAnsi 變?yōu)?nbsp;漢字 

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


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

漢字經(jīng)過(guò)chinese2unicode變?yōu)?x6C49;#x5B57;

#x6C49;#x5B57;經(jīng)過(guò)UTF2GB變?yōu)闈h字


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

test.asp 原程序如下
(下載源程序 http://www.dc9.cn/upload/test.rar)
復(fù)制代碼 代碼如下:

UTF-8 Unicode Ansi 漢字GB2321幾種編碼轉(zhuǎn)換程序

今天搞sxna,遇到了編碼轉(zhuǎn)換的難題,找了一個(gè)多小時(shí),歷盡千辛萬(wàn)苦,總算總結(jié)了如下的漢字轉(zhuǎn)換為各種UTF-8 Unicode Ansi編碼的程序.不敢獨(dú)享,特此奉獻(xiàn)給各位編程愛好者!

script language="JAVASCRIPT" runat="server">
var ss;
var dd;
ss=decodeURIComponent("%E6%B1%89%E5%AD%97");
dd=encodeURIComponent("漢字");
/script>
符合GOOGLE的UTF編碼
p>
漢字 經(jīng)過(guò)encodeURIComponent變成
%=dd%>
/p>
p>
%E6%B1%89%E5%AD%97經(jīng)過(guò)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>
漢字 經(jīng)過(guò) AnsiCode 變?yōu)?nbsp;
%=AnsiCode("漢字")%>
/p>
p>
%BA%BA%D7%D6 經(jīng)過(guò) DeCodeAnsi 變?yōu)?nbsp;
%=DeCodeAnsi("%BA%BA%D7%D6 ")%>
/p>

%
'漢字轉(zhuǎn)換為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>漢字經(jīng)過(guò)chinese2unicode變?yōu)?
%=chinese2unicode("漢字")%>(需要察看源代碼,瀏覽器已經(jīng)直接翻譯)
/p>
p>漢字經(jīng)過(guò)UTF2GB變?yōu)?
%=UTF2GB("漢字")%>(需要察看源代碼,瀏覽器已經(jīng)直接翻譯) 


另外在網(wǎng)上發(fā)現(xiàn)了一個(gè)不錯(cuò)的編碼轉(zhuǎn)換小站
http://www.dheart.net/bmzh/index.php
您可能感興趣的文章:
  • utf8和unicode編碼究竟是什么關(guān)系?有何區(qū)別?
  • Encode/DecodeANSIlt;-gt;UTF8兩個(gè)編碼工具 下載
  • 淺析c++ 宏 #val 在unicode下的使用
  • 淺析內(nèi)存對(duì)齊與ANSI C中struct型數(shù)據(jù)的內(nèi)存布局
  • java實(shí)現(xiàn)十六進(jìn)制字符unicode與中英文轉(zhuǎn)換示例
  • Mysql中的排序規(guī)則utf8_unicode_ci、utf8_general_ci的區(qū)別總結(jié)
  • Unicode編碼大揭秘
  • VC中實(shí)現(xiàn)GB2312、BIG5、Unicode編碼轉(zhuǎn)換的方法
  • C語(yǔ)言中字符和字符串處理(ANSI字符和Unicode字符)

標(biāo)簽:衢州 大理 廣元 萍鄉(xiāng) 棗莊 蚌埠 江蘇 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《UTF-8 Unicode Ansi 漢字GB2321幾種編碼轉(zhuǎn)換程序》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266