ASP中汉字与UTF-8的互相转换

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

=============汉字转换为UTF-8==================

function chinese2unicode(Str)

for i=1 to len(Str)

Str_one=Mid(Str,i,1)

Str_unicode=Str_unicode&chr(38)

Str_unicode=Str_unicode&chr(35)

Str_unicode=Str_unicode&chr(120)

Str_unicode=Str_unicode& Hex(ascw(Str_one))

Str_unicode=Str_unicode&chr(59)

next

chinese2unicode = Str_unicode

end function

=============UTF-8转换为汉字==================

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

&nb

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航