最新更新 sitemap 网站制作设计本站搜索
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 编程开发 > asp教程

ASP中UTF-8转GB2312函数的技巧

日期:11-26    来源:中国设计秀    作者:cnwebshow.com

<% Jh4中国设计秀
'用途:將UTF-8編碼漢字轉換為GB2312碼,兼容英文和數字 Jh4中国设计秀
'版權:雖說是原創,其實也參考了別人的部分算法 Jh4中国设计秀
'用法:Response.write UTF2GB("%E9%83%BD%E5%B8%82%E6%83%85%E7%B7%A3 %E6%98%9F%E5%BA%A7")Jh4中国设计秀

Jh4中国设计秀
function UTF2GB(UTFStr) Jh4中国设计秀
for Dig=1 to len(UTFStr) Jh4中国设计秀
if mid(UTFStr,Dig,1)="%" then Jh4中国设计秀
if len(UTFStr) >= Dig+8 then Jh4中国设计秀
GBStr=GBStr & ConvChinese(mid(UTFStr,Dig,9)) Jh4中国设计秀
Dig=Dig+8 Jh4中国设计秀
else Jh4中国设计秀
GBStr=GBStr & mid(UTFStr,Dig,1) Jh4中国设计秀
end if Jh4中国设计秀
else Jh4中国设计秀
GBStr=GBStr & mid(UTFStr,Dig,1) Jh4中国设计秀
end if Jh4中国设计秀
next Jh4中国设计秀
UTF2GB=GBStr Jh4中国设计秀
end functionJh4中国设计秀

function ConvChinese(x) Jh4中国设计秀
A=split(mid(x,2),"%") Jh4中国设计秀
i=0 Jh4中国设计秀
j=0Jh4中国设计秀

for i=0 to ubound(A) Jh4中国设计秀
A(i)=c16to2(A(i)) Jh4中国设计秀
nextJh4中国设计秀

for i=0 to ubound(A)-1 Jh4中国设计秀
DigS=instr(A(i),"0") Jh4中国设计秀
Unicode="" Jh4中国设计秀
for j=1 to DigS-1 Jh4中国设计秀
if j=1 then Jh4中国设计秀
A(i)=right(A(i),len(A(i))-DigS) Jh4中国设计秀
Unicode=Unicode & A(i) Jh4中国设计秀
else Jh4中国设计秀
i=i+1 Jh4中国设计秀
A(i)=right(A(i),len(A(i))-2) Jh4中国设计秀
Unicode=Unicode & A(i) Jh4中国设计秀
end if Jh4中国设计秀
nextJh4中国设计秀

if len(c2to16(Unicode))=4 then Jh4中国设计秀
ConvChinese=ConvChinese & chrw(int("&H" & c2to16(Unicode))) Jh4中国设计秀
else Jh4中国设计秀
ConvChinese=ConvChinese & chr(int("&H" & c2to16(Unicode))) Jh4中国设计秀
end if Jh4中国设计秀
next Jh4中国设计秀
end functionJh4中国设计秀

function c2to16(x) Jh4中国设计秀
i=1 Jh4中国设计秀
for i=1 to len(x) step 4 Jh4中国设计秀
c2to16=c2to16 & hex(c2to10(mid(x,i,4))) Jh4中国设计秀
next Jh4中国设计秀
end functionJh4中国设计秀

function c2to10(x) Jh4中国设计秀
c2to10=0 Jh4中国设计秀
if x="0" then exit function Jh4中国设计秀
i=0 Jh4中国设计秀
for i= 0 to len(x) -1 Jh4中国设计秀
if mid(x,len(x)-i,1)="1" then c2to10=c2to10+2^(i) Jh4中国设计秀
next Jh4中国设计秀
end functionJh4中国设计秀

function c16to2(x) Jh4中国设计秀
i=0 Jh4中国设计秀
for i=1 to len(trim(x)) Jh4中国设计秀
tempstr= c10to2(cint(int("&h" & mid(x,i,1)))) Jh4中国设计秀
do while len(tempstr)<4 Jh4中国设计秀
tempstr="0" & tempstr Jh4中国设计秀
loop Jh4中国设计秀
c16to2=c16to2 & tempstr Jh4中国设计秀
next Jh4中国设计秀
end functionJh4中国设计秀

function c10to2(x) Jh4中国设计秀
mysign=sgn(x) Jh4中国设计秀
x=abs(x) Jh4中国设计秀
DigS=1 Jh4中国设计秀
do Jh4中国设计秀
if x<2^DigS then Jh4中国设计秀
exit do Jh4中国设计秀
else Jh4中国设计秀
DigS=DigS+1 Jh4中国设计秀
end if Jh4中国设计秀
loop Jh4中国设计秀
tempnum=xJh4中国设计秀

i=0 Jh4中国设计秀
for i=DigS to 1 step-1 Jh4中国设计秀
if tempnum>=2^(i-1) then Jh4中国设计秀
tempnum=tempnum-2^(i-1) Jh4中国设计秀
c10to2=c10to2 & "1" Jh4中国设计秀
else Jh4中国设计秀
c10to2=c10to2 & "0" Jh4中国设计秀
end if Jh4中国设计秀
next Jh4中国设计秀
if mysign=-1 then c10to2="-" & c10to2 Jh4中国设计秀
end function Jh4中国设计秀
%>Jh4中国设计秀

本文引用地址:/bc/article_46467.html
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明