日期:2024年8月1日
作者:Commas
签名:(ง •_•)ง 积跬步以致千里,积小流以成江海……
注释:如果您觉得有所帮助
,帮忙点个赞
,也可以关注我
,我们一起成长;如果有不对的地方,还望各位大佬不吝赐教,谢谢^ - ^
1.01365 = 37.7834;0.99365 = 0.0255
1.02365 = 1377.4083;0.98365 = 0.0006
一、前言
今天,我们将探讨上期教程《【VB6|第24期】VB6玩转Base64数据:编码与解码指南》留下来问题,在 VB6
中,如何读取文件为二进制数据,以及如何将二进制数据转换为文件。本文将带你一步步完成这两个过程。
二、二进制、文件是什么?
二进制是一种计数系统,只使用两个数字:0和1。在计算机科学中,二进制用于表示所有形式的数据,因为计算机的基本硬件,如处理器和存储器,是基于二进制逻辑设计的。
文件是存储在存储设备上的数据集合,它有特定的格式和组织结构。文件可以是文本、图像、音频、视频或其他任何类型的数据。
总而言之,二进制是计算机处理和存储数据的根本方式,而文件是在这个基础上构建的用于持久存储和组织数据的高级结构。二进制和文件之间的联系在于文件实际上是由二进制数据组成的,它们的区别在于抽象层次和用途。
三、读取文件为二进制数据
在 VB6
中,读取文件并将其内容作为二进制数据加载到变量中,我们可以使用ADODB.Stream
对象。以下是详细步骤和代码示例:
(1)步骤说明
- 创建
ADODB.Stream
对象。 - 设置
Stream
的类型为adTypeBinary
。 - 打开
Stream
对象。 - 从文件中读取内容。
- 将内容加载到变量中。
- 关闭并释放
Stream
对象。
(2)示例代码
Public Function streamFileToBinary(Byval sPath as String) As Variant
On Error Resume Next
'函数说明:读取文件二进制数据
'创建作者:Commas
'创建时间:2024-07-28
'修改时间:
'------数据格式说明------
'sPath:文件路径
'------数据格式说明------
Dim adoStream As Object
Dim sPath As String
' 创建ADODB.Stream对象
Set adoStream = CreateObject("ADODB.Stream")
' 设置为二进制模式
adoStream.Type = 1 ' adTypeBinary
' 打开Stream对象
adoStream.Open
' 从文件加载内容
adoStream.LoadFromFile sPath
' 将内容返回
StreamFileToBinary = adoStream.Read
' 关闭Stream对象
adoStream.Close
' 释放对象
Set adoStream = Nothing
End Function
' 调用示例
Dim vBinaryData As Variant
vBinaryData = streamFileToBinary("D:\header.jpg")
四、将二进制数据转换为文件
(1)步骤说明
- 创建
ADODB.Stream
对象。 - 设置
Stream
的类型为adTypeBinary
。 - 打开
Stream
对象。 - 将二进制数据写入
Stream
对象。 - 将
Stream
对象的内容保存到文件中。 - 关闭并释放
Stream
对象。
(2)示例代码
Public Function StreamBinaryToFile(ByRef vBinaryData As Variant, ByVal sPath As String)
On Error Resume Next
'函数说明:将二进制数据保存为文件
'创建作者:Commas
'创建时间:2024-07-26
'修改时间:
'------数据格式说明------
'vBinaryData:二进制数据
'sPath:文件路径
'------数据格式说明------
Dim adoStream As Object
Dim filePath As String
' 创建ADODB.Stream对象
Set adoStream = CreateObject("ADODB.Stream")
' 设置为二进制模式
adoStream.Type = 1 ' adTypeBinary
' 打开Stream对象
adoStream.Open
' 将二进制数据写入Stream
adoStream.Write vBinaryData
' 将Stream的内容保存到文件
adoStream.SaveToFile sPath, 2 ' 2 = adSaveCreateOverWrite
' 关闭Stream对象
adoStream.Close
' 释放对象
Set adoStream = Nothing
End Function
' 调用示例
Dim vBinaryData As Variant
vBinaryData = streamFileToBinary("D:\header.jpg")
call StreamBinaryToFile(vBinaryData,"D:\header_new.jpg")
五、结论
通过本教程,我们掌握了 VB6
中实现文件与二进制数据之间相互转换的技巧。结合之前的教程,我们学习了二进制数据与Base64编码字符串之间的转换方法。借助二进制这一中间桥梁,我们实现了文件与Base64编码字符串的无缝对接,从而在数据处理和传输方面变得更加游刃有余。这一系列技能的掌握,将极大提升我们在编程实践中处理复杂数据场景的能力。
另外,我也将相关功能封装成了一个 .class
文件,引入开箱即可使用,需要的小伙伴欢迎在【我的资源】下载。详细功能如下:
-
'函数说明:Base64编码,即将原始的二进制格式数据编码为Base64编码的数据
Public Function Base64Encode(ByRef vBinaryData As Variant) As String
-
'函数说明:Base64解码,即将Base64编码的数据被解码回原始的二进制格式数据
Public Function Base64Decode(ByRef sBase64 As String) As Variant
-
'函数说明:将字符串编码为Base64类型的数据
Public Function Base64EncodeFromString(ByRef sText As String) As String
-
'函数说明:将Base64类型的数据解码为字符串
Public Function Base64DecodeToString(ByRef sBase64 As String) As String
-
'函数说明:将字符串转换为二进制数据
Public Function StreamStringToBinary(ByRef sText As String) As Variant
-
'函数说明:将二进制数据转换为字符串
Public Function StreamBinaryToString(ByRef vBinaryData As Variant) As String
-
'函数说明:读取文件二进制数据
Public Function StreamFileToBinary(ByVal sPath As String) As Variant
-
'函数说明:将二进制数据保存为文件
Public Function StreamBinaryToFile(ByRef vBinaryData As Variant, ByVal sPath As String)
-
'函数说明:将文件编码为Base64类型的数据
Public Function Base64EncodeFromFile(ByRef sPath As String) As String
-
'函数说明:将Base64类型的数据保存为文件
Public Function Base64DecodeToFile(ByRef sBase64 As String, ByVal sPath As String)
参考文章:
版权声明:本文为博主原创文章,如需转载,请给出:
原文链接:https://blog.csdn.net/qq_35844043/article/details/140845108