• 大小: 26.29MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-14
  • 语言: Matlab
  • 标签: matlab  

资源简介

【更新代码】将源文件读入matlab后二进制输出到文本文件,博客地址:http://blog.csdn.net/GSH_Hello_World/article/details/78455891

资源截图

代码片段和文件信息

% 输入:inData文件夹
% 输出:outData文件夹
%345M文件生成二进制时间为126.9375秒,还原为源文件时间为243.2653秒

%% 将源文件转为二进制 
clear all;
clc;

tic;%统计时间
filename=‘inData\video.WMV‘;%输入
file_id = fopen(filename ‘rb‘);%file_id:文件句柄值
fid=fopen(‘outData\outdata.txt‘‘w+‘);%输出
while(feof(file_id) == 0)
    data = fread(file_id 30 * 10^6);%XX为存放数据的矩阵  每次读取30 * 10^6个字节
    data = uint8(data);
    dataOut = dec2bin(data);
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    % dataOut = uint8(zeros(length(data) 8));
    % for i=1:1:8
    %     dataOutTmp = rem(data(:1)2);
    %     data = floor(data / 2);
    %     dataOut(: 9 - i) = dataOutTmp;
    % end
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    % dataOut = dataOut‘;
    % dataOut = dataOut(:);
    % [x y] = size(dataOut);
   
    fprintf(fid‘%s‘dataOut‘);%fprintf按列输出dataOut的元素,所以需要将其转置
    
end
fclose(‘all‘);
t1 = toc;%统计时间
disp([‘生成二进制时间为‘num2str(t1)‘秒‘]);

%% 将二进制还原为源文件
tic;
fid = fopen(‘outData\outdata.txt‘‘rb‘);
file_id = fopen(‘outData\test.zip‘ ‘wb‘);
while(feof(fid) == 0)
    A = fread(fid 30 * 10^7);
    A = A - 48;
    x = size(A 1);
    Areshape = reshape(A 8 x/8)‘;%按照列填充
    
    %bin2dec运行太慢,程序替换此函数 begin
    for i=1:1:8
       Areshape(:i) = Areshape(:i) * (2^(8-i));
    end
    Areshape = sum(Areshape 2);%按行相加(1:按行,2:按列)
    Areshape = uint8(Areshape);
    %bin2dec运行太慢,程序替换此函数 end

    fwrite(file_idAreshape‘uint8‘);
end

fclose(‘all‘);%解决fclose了test.rar文件后,文件仍然占用的问题
t2 = toc;%统计时间
disp([‘还原为源文件时间为‘num2str(t2)‘秒‘]);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1728  2017-11-13 10:59  toBinary\image_transmitter.m

     文件   27602798  2016-02-25 14:35  toBinary\inData\UltraEdit32.rar

     目录          0  2017-11-13 14:15  toBinary\inData

     目录          0  2017-11-13 10:57  toBinary\outData

     目录          0  2017-11-13 10:59  toBinary

----------- ---------  ---------- -----  ----

             27604526                    5


评论

共有 条评论