我的一片天

我的一片天
posts - 27, comments - 12, trackbacks - 0, articles - 16
   :: 首页 :: 新随笔 :: 联系 ::  :: 管理

ASP中把包含汉字的字符串转成二进制串

Posted on 2009-05-08 11:36 xyz 阅读(652) 评论(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
只有注册用户登录后才能发表评论。