标题:VB6.0能把所有文件类型都转为二进制文件么?
只看楼主
小刀神
Rank: 1
等 级:新手上路
帖 子:69
专家分:5
注 册:2018-5-27
结帖率:91.67%
已结贴  问题点数:19 回复次数:2 
VB6.0能把所有文件类型都转为二进制文件么?
VB6.0能把所有文件类型都转为二进制文件么?
比如,把一个视频或图片文件转为二进制,然后输出为一个二进制文件,然后再将此二进制文件恢复到原来的原文件使用?
如果可以,假若两个或两个以上的不同类型文件可以输出为同一个二进制么?又该如何将他们从二进制文件中分离出来,恢复原来的文件类型,而使这些文件尽量不要受损?
搜索更多相关主题的帖子: VB6.0 文件 类型 二进制 恢复 
2018-09-21 14:21
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:10 
什么叫二进制文件 ,所有的文件都可以叫到二进制文件。
二进制文件是按字节读写的文件模式,所有文件都支持这种的读写模式。

把一个视频或图片文件转为二进制,然后输出为一个二进制文件,然后再将此二进制文件恢复到原来的原文件使用?
视频文件和图片文件,本来就是使用 二进制模式打开保存。你还要怎么转换成二进制文件。
如图片文件,我在你前面一个贴子里 VB6.0的数组的上界上限是多少?是整型的范围么? 就回复了一个针对 BMP 格式的图片文件 进行读取和显示的模块文件,使用的就是二进制操作模式。

二个或两个以上文件输出为同一个二进制文件,再分离。
举个最简单的例子。

type FILEDATA
    DATA() as byte
end type

type FILETYPE
    FLIElog as string * 4  '文件标志,固定为4个字节
    COUNT as long        '文件数量
    Size() as long       '每个文件的大小
    File() as FILEDATA   '每个文件的大小
end type

保存时,选择保存文件标志,然后检查有多少个文件,写入 COUNT ,然后依次写入每个 文件的大小,个数要与 count 相符合。
然后再这之后依次写入每个文件的数据。

读取时,先读取4个字,保存到文件标志里,判断是否是指定的内容。
然后读4个字节到 count 中,判断为正整数,重定义 sizE()数组大小 和 file 的数组大小,然后一次性读入 size数组。
然后再根据 size 每个元素大小,重定义 File.data() 的大小。然后一个数组,一个数组的依次读下去。
每个 data 里,就是一个原始文件的数据。你想怎么处理就怎么处理。

授人于鱼,不如授人于渔
早已停用QQ了
2018-09-21 16:23
wds1
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:49
帖 子:393
专家分:2025
注 册:2016-3-10
得分:10 
参考rar,zip等打包软件原理,他们都具有打包和自解压功能。

你如果自己研究不同类型文件的数据类型,利用算法可以实现二进制文件最小的存储和还原【相当于你写一个压缩/解压软件】。
如果不进行任何处理,那么只要检查文件个数,在目标文件头区域写入每个文件的信息【包含数量、大小、位置】,在之后顺序写入文件即可。


2018-09-22 09:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-489924-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015471 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved