欢迎光临
我们一直在努力

UTF-8轉GB2312函數-ASP教程,脚本编码

建站超值云服务器,限时71元/月

<%

用途:將utf-8編碼漢字轉換為gb2312碼,兼容英文和數字

版權:雖說是原創,其實也參考了別人的部分算法

用法:response.write utf2gb("%e9%83%bd%e5%b8%82%e6%83%85%e7%b7%a3 %e6%98%9f%e5%ba%a7")

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 x<2^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

%>

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » UTF-8轉GB2312函數-ASP教程,脚本编码
分享到: 更多 (0)

相关推荐

  • 暂无文章