• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

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

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网 @#--------------------------------------------------------------------
@# 二进制转字符串
@#
@# 入口参数:字节流
@# 函数返回:字符串
@# 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
@#--------------------------------------------------------------------

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网