最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
ASP中利用ADODB.Stream对象将字节流转换为字符流
时间:2022-06-30 11:18:12 编辑:袖梨 来源:一聚教程网
'--------------------------------------------------------------------
' 二进制转字符串
'
' 入口参数:字节流
' 函数返回:字符串
' 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
'--------------------------------------------------------------------
' 二进制转字符串
'
' 入口参数:字节流
' 函数返回:字符串
' 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
'--------------------------------------------------------------------
相关文章
- 江南百景图听风塔怎么样 11-22
- 原神恰斯卡圣遗物怎么搭配 11-22
- 2024年霸王茶姬11月22日口令是什么 2024.11.22霸王茶姬口令介绍 11-22
- 光遇11.21季节蜡烛在哪里 光遇11月21日季节蜡烛位置攻略 11-22
- 光遇11.21大蜡烛在哪里 光遇11月21日大蜡烛位置攻略 11-22
- 光遇11.21免费魔法有什么 光遇11月21日免费魔法收集攻略 11-22