广告
返回顶部
首页 > 资讯 > 精选 >VBS中怎么把二进制数据转换为字符串
  • 183
分享到

VBS中怎么把二进制数据转换为字符串

2023-06-08 14:06:39 183人浏览 泡泡鱼
摘要

这篇文章主要讲解了“VBS中怎么把二进制数据转换为字符串”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VBS中怎么把二进制数据转换为字符串”吧!至少有三种以上办法,可以把二进制数据(比如您从

这篇文章主要讲解了“VBS中怎么把二进制数据转换为字符串”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VBS中怎么把二进制数据转换为字符串”吧!

至少有三种以上办法,可以把二进制数据(比如您从ASP的Request.BinaryRead方法得到的数据)转换为字符串。 

第一种:使用VBS的MultiByte 方法 

实例: 

Function SimpleBinaryToString(Binary) 
'SimpleBinaryToString converts binary data (VT_UI1 | VT_ARRAY Or MultiByte string) 
'to a string (BSTR) using MultiByte VBS functions 
Dim I, S 
For I = 1 To LenB(Binary) 
S = S & Chr(AscB(MidB(Binary, I, 1))) 
Next 
SimpleBinaryToString = S 
End Function 

这个方法非常简单明了,但是处理大数据流时,比较慢。 
建议只用来处理100KB以下的数据。 
下面的这个类似的方法,性能稍微好些: 
Function BinaryToString(Binary) 
'Antonin Foller, Http://www.pstruh.cz 
'Optimized version of a simple BinaryToString alGorithm. 

Dim cl1, cl2, cl3, pl1, pl2, pl3 
Dim L 
cl1 = 1 
cl2 = 1 
cl3 = 1 
L = LenB(Binary) 

Do While cl1<=L 
pl3 = pl3 & Chr(AscB(MidB(Binary,cl1,1))) 
cl1 = cl1 + 1 
cl3 = cl3 + 1 
If cl3>300 Then 
pl2 = pl2 & pl3 
pl3 = "" 
cl3 = 1 
cl2 = cl2 + 1 
If cl2>200 Then 
pl1 = pl1 & pl2 
pl2 = "" 
cl2 = 1 
End If 
End If 
Loop 
BinaryToString = pl1 & pl2 & pl3 
End Function 
BinaryToString方法比SimpleBinaryToString方法性能高20倍。建议用来处理2MB以下的数据。 
第二种方法:使用ADODB.Recordset 
ADODB.Recordset 可以让你支持几乎所有VARIANT支持的数据类型,你可以用它在string和 
binary之间转换。 
Function RSBinaryToString(xBinary) 
'Antonin Foller, http://www.pstruh.cz 
'RSBinaryToString converts binary data (VT_UI1 | VT_ARRAY Or MultiByte string) 
'to a string (BSTR) using ADO recordset 

Dim Binary 
'MultiByte data must be converted To VT_UI1 | VT_ARRAY first. 
If vartype(xBinary)=8 Then Binary = MultiByteToBinary(xBinary) Else Binary = xBinary 

Dim RS, LBinary 
Const adLongVarChar = 201 
Set RS = CreateObject("ADODB.Recordset") 
LBinary = LenB(Binary) 

If LBinary>0 Then 
RS.Fields.Append "mBinary", adLongVarChar, LBinary 
RS.Open 
RS.AddNew 
RS("mBinary").AppendChunk Binary 
RS.Update 
RSBinaryToString = RS("mBinary") 
Else 
RSBinaryToString = "" 
End If 
End Function 
RSBinaryToString 没有什么限制--除了物理内存之外。这种处理方式是MultiByte方式的100倍!你可以用它来处理高达100MB的数据! 这种转换方式,你也可以用来把MultiByte strings转换为String。下面这个方法把MultiByte strings转换为Binary:Function MultiByteToBinary(MultiByte) 
'&copy; 2000 Antonin Foller, http://www.pstruh.cz 
' MultiByteToBinary converts multibyte string To real binary data (VT_UI1 | VT_ARRAY) 
' Using recordset 
Dim RS, LMultiByte, Binary 
Const adLongVarBinary = 205 
Set RS = CreateObject("ADODB.Recordset") 
LMultiByte = LenB(MultiByte) 
If LMultiByte>0 Then 
RS.Fields.Append "mBinary", adLongVarBinary, LMultiByte 
RS.Open 
RS.AddNew 
RS("mBinary").AppendChunk MultiByte & ChrB(0) 
RS.Update 
Binary = RS("mBinary").GetChunk(LMultiByte) 
End If 
MultiByteToBinary = Binary 
End Function 
第三种:使用ADODB.Stream这种方式是比较常用的:'Stream_BinaryToString Function 
'2003 Antonin Foller, http://www.pstruh.cz 
'Binary - VT_UI1 | VT_ARRAY data To convert To a string 
'CharSet - charset of the source binary data - default is "us-ascii" 
Function Stream_BinaryToString(Binary, CharSet) 
Const adTypeText = 2 
Const adTypeBinary = 1 

'Create Stream object 
Dim BinaryStream 'As New Stream 
Set BinaryStream = CreateObject("ADODB.Stream") 

'Specify stream type - we want To save text/string data. 
BinaryStream.Type = adTypeBinary 

'Open the stream And write text/string data To the object 
BinaryStream.Open 
BinaryStream.Write Binary 


'Change stream type To binary 
BinaryStream.Position = 0 
BinaryStream.Type = adTypeText 

'Specify charset For the source text (unicode) data. 
If Len(CharSet) > 0 Then 
BinaryStream.CharSet = CharSet 
Else 
BinaryStream.CharSet = "us-ascii" 
End If 

'Open the stream And get binary data from the object 
Stream_BinaryToString = BinaryStream.ReadText 
End Function 
要存储、获取二进制数据,从一个本地文件、上传的二进制数据文件或者ASP中,可以参考:Pure and Huge ASP file upload with progress.。 Tip keyWords: Binary, Byte, Array, VT_UI1, VT_ARRAY, BinaryWrite, BinaryRead, ChrB, InstrB, LeftB, MidB, RightB, ASP, VBSCOPYRIGHT AND PERMITTED USE OF http://www.pstruh.cz/tips WEBSITE. The entire contents of PSTRUH Software website consist of copyright material owned by Antonin Foller, PSTRUH Software. 

感谢各位的阅读,以上就是“VBS中怎么把二进制数据转换为字符串”的内容了,经过本文的学习后,相信大家对VBS中怎么把二进制数据转换为字符串这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

--结束END--

本文标题: VBS中怎么把二进制数据转换为字符串

本文链接: https://www.lsjlt.com/news/254485.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • VBS中怎么把二进制数据转换为字符串
    这篇文章主要讲解了“VBS中怎么把二进制数据转换为字符串”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VBS中怎么把二进制数据转换为字符串”吧!至少有三种以上办法,可以把二进制数据(比如您从...
    99+
    2023-06-08
  • Python二进制串转换为通用字符串
    一个小问题        今天在做一个实验时,需要对一个包含中英文词汇的TXT文件进行读入和整理。        Python代码的编码规则为UTF-8。在读入时,文件的每行是二进制串,形如: b'heroes\xff..... ...
    99+
    2023-01-31
    转换为 字符串 Python
  • JavaScript怎么把数组转换为字符串
    本篇内容主要讲解“JavaScript怎么把数组转换为字符串”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JavaScript怎么把数组转换为字符串”吧! J...
    99+
    2022-10-19
  • JavaScript中怎么用String()把数字转换为字符串
    今天小编给大家分享一下JavaScript中怎么用String()把数字转换为字符串的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文...
    99+
    2022-10-19
  • mysql怎么把字符串转换为数字类型
    mysql中将字符串转为数字类型的方法直接在字符串后面+0示例:SELECT '123'+0;使用CAST()函数语法:CAST(value AS type);示例:SELECT CAST('5.45' AS SIGNED); 使用CONV...
    99+
    2022-10-14
  • sql怎么把数值型转换为字符串
    在SQL中,你可以使用CAST函数或CONVERT函数将数值类型转换为字符串。使用CAST函数:```sqlSELECT CAST(column_name AS VARCHAR) FROM table_name;```使用CON...
    99+
    2023-08-09
    sql
  • php怎么将二进制转为字符串
    PHP将二进制转为字符串的步骤:1、利用base_convert()函数将二进制转为16进制值,语法“base_convert(二进制值,2,16)”;2、利用hex2bin()函数将16进制值转为字符串即可,语法“hex2bi&...
    99+
    2022-07-04
    php php字符串
  • php怎么将字符串转换成二进制
    本文小编为大家详细介绍“php怎么将字符串转换成二进制”,内容详细,步骤清晰,细节处理妥当,希望这篇“php怎么将字符串转换成二进制”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。php将字符串转换成二进制的方法:...
    99+
    2023-06-30
  • php怎么将二进制转为16进制字符串
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php将二进制转为16进制字符串的方法:方法1:使用base_convert()函数base_convert() 函数在任意进制之间转换数字。base_convert(...
    99+
    2019-12-25
    php 进制转换 二进制转16进制
  • PHP怎么把一个字符串转换为数组
    这篇文章主要介绍了PHP怎么把一个字符串转换为数组的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PHP怎么把一个字符串转换为数组文章都会有所收获,下面我们一起来看看吧。使用php中的explode()函数在PH...
    99+
    2023-07-05
  • php二维数组怎么转换为字符串
    本文操作环境:windows7系统、PHP7.4版、DELL G3电脑php二维数组转成字符串示例代码如下:function arr2str ($arr) { foreach ($arr as $v) { $...
    99+
    2019-08-07
    php 二维数组 字符串
  • php怎么将string(字符串)转为二进制
    php将string(字符串)转为二进制的步骤:1、使用bin2hex()函数将字符串转为16进制值,语法“bin2hex(string)”;2、使用base_convert()函数将16进制值转为二进制值即可,语法“b...
    99+
    2022-06-14
    php
  • java怎么将二进制字符串转换成十进制
    在Java中,可以使用`Integer.parseInt()`方法将二进制字符串转换为十进制数。以下是一个示例代码:```javap...
    99+
    2023-09-20
    java
  • java怎么把字符串转换成字符数组
    java怎么把字符串转换成字符数组1、将字符串变成数组方法:java.lang包中有String.split()方法,java中通常用split()分割字符串,返回的是一个数组。特殊转义字符,必须加""(“.”和“|”都是转义字符)在Jav...
    99+
    2017-06-21
    java基础 java 字符串 字符数组
  • php怎么实现转化为二进制字符串
    小编给大家分享一下php怎么实现转化为二进制字符串,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php实现字符串转化为二进制字符串的方法:首先创建一个PHP示例文...
    99+
    2023-06-14
  • python字符串怎么转换为数字
    要将一个字符串转换为数字,可以使用以下方法: 使用`int()`函数将字符串转换为整数。例如:`num = int("123")...
    99+
    2023-10-25
    python
  • php怎么将数据转为16进制字符串
    3种转换方法:1、使用dechex()函数,可以把十进制数转换为十六进制字符串,语法“dechex(指定数据值);”。2、使用base_convert()函数,可以将任意进制值转换为十六进制字符串,语法“base_con...
    99+
    2022-08-25
  • php怎么把数字转为字符串类型
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php把数字转为字符串类型方法1:在要转换的数字变量之前加上用括号括起来的目标类型“(string)”使用在变量之前加上用括号括起来的目标类型,可以将指定变量强制转换为...
    99+
    2014-11-15
    php 数字 字符串 数据类型转换
  • C语言怎样把浮点数转换为字符串
    本篇文章为大家展示了C语言怎样把浮点数转换为字符串,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。把浮点数转换为字符串1、把float/double格式化输出到字符串标准的C语言提供了atof函数把字...
    99+
    2023-06-25
  • Python中怎么将字符串转换为数字
    可以使用int()函数将字符串转换为整数,使用float()函数将字符串转换为浮点数。示例代码如下:```python# 将字符串转...
    99+
    2023-10-11
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作