ASP中利用ADODB.Stream对象将字节流转换为字符流-ASP技术-3P代码网
繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP基础 >> ASP中利用ADODB.Stream对象将字节流转换为字符流

ASP中利用ADODB.Stream对象将字节流转换为字符流

2006-06-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:'-------------------------------------------------------------------- ' 二进制转字符串 ' ' 入口参数:字节流 ' 函数返回:字符串 ' Code By:Madpolice 2002-12-20 ' 利用 ADODB.Stream 对象,速度比原来的字符...

'--------------------------------------------------------------------

' 二进制转字符串

'

' 入口参数:字节流

' 函数返回:字符串

' 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

'--------------------------------------------------------------------

责任编辑:admin
相关文章