Posted on 2009-05-08 11:36
xyz 阅读(657)
评论(0) 编辑 收藏 引用 所属分类:
DHTML&ASP
根据需要把字符串转成二进制,由于汉字无法用ASCB取得正确的内码,需要用Server.URLEncode进行转换。
function strToBin(s)
dim tmpI,tmpR,tmpV,tmpC
tmpR=""
for tmpI=1 to len(s)
tmpC=mid(s,tmpI,1)
tmpv=asc(tmpC)
if tmpV<0 then
tmpC=Server.URLEncode(tmpC)
tmpV=int("&h"&mid(tmpC,2,2))
tmpR=tmpR&chrb(tmpV)
tmpV=int("&h"&mid(tmpC,5,2))
tmpR=tmpR&chrb(tmpV)
else
tmpR=tmpR&chrb(tmpV)
end if
next
strToBin=tmpR
end function
function binToStr(bin)
dim tmpI,tmpL,tmpV,tmpC,tmpR
tmpR=""
tmpL=lenb(bin)
tmpI=1
do while tmpI<=tmpL
tmpC=midb(bin,tmpI,1)
if tmpC="" then exit do
tmpV=ascb(tmpC)
if tmpV<128 then
tmpR=tmpR&chr(tmpV)
tmpI=tmpI+1
else
tmpC=midb(bin,tmpI+1,1)
tmpV=clng( "&h" & hexEx(tmpV,2) & hexEx( ascb(tmpC),2) ) '汉字通过chr(高位+低位)生成
tmpC=chr(tmpV)
tmpR=tmpR&tmpC
tmpI=tmpI+2
end if
loop
binToStr=tmpR
end function