''''--------------------------------------------------------------------'''' 二进制转字符串'''''''' 入口参数:字节流'''' 函数返回:字符串'''' Code By:Madpolice 2002-12-20'''' 利用 ADODB.Stream 对象,速度比原来的字符替换法快了n倍,n≈30!!)''''--------------------------------------------------------------------''''下面的常量是函数用到的,因为我在函数外面已经定义过了,因此不在这里重复定义''''---- StreamTypeEnum Values ----''''Const adTypeBinary = 1''''Const adTypeText = 2
Function Bytes2bStr(vin) Dim BytesStream,StringReturn
Set BytesStream = Server.CreateObject("ADODB.Stream") ''''建立一个流对象 With BytesStream .Type = adTypeText ''''设置流对象的类型为字符流 .Open ''''打开流对象 .WriteText vin ''''把vin写入流对象中
.Position = 0 ''''设置流对象的起始位置是0,也就是开头 ''''这个操作必须做,为什么我也不知道,失败了n次得出的结论 ''''如果不进行这个操作,下面设置Charset属性就出错 .Charset = "GB2312" ''''设置流对象的编码方式为GB2312 .Position = 2 ''''设置流对象的起始位置是2(过滤掉开始的一个控制字符 ''''这个控制字符是WriteText方法按默认属性Charset="Unicode" ''''读入数据的时候自动加到数据开头的,字符的值是FF3F ''''这个控制字符占2字节,所以Position设置为2 ''''表示略过2个字节,下面的ReadText方法从Position开始读数据 StringReturn = .ReadText ''''把流对象的内容保存在StringReturn变量中 .close ''''关闭流对象 End With Set BytesStream = Nothing ''''销毁流对象
Bytes2bStr = StringReturn
End Function''''--------------------------------------------------------------------
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18