将源文件读入matlab后二进制输出到文本文件


【更新代码】将源文件读入matlab后二进制输出到文本文件,博客地址:http://blog.csdn.net/GSH_Hello_World/article/details/78455891
资源截图
代码片段和文件信息
% 输入:inData文件夹
% 输出:outData文件夹
%345M文件生成二进制时间为126.9375秒,还原为源文件时间为243.2653秒

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

tic;%统计时间
filename=‘inDatavideo.WMV‘;%输入
file_id = fopen(filename ‘rb‘);%file_id:文件句柄值
fid=fopen(‘outDataoutdata.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(‘outDataoutdata.txt‘‘rb‘);
file_id = fopen(‘outData est.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  toBinaryimage_transmitter.m

     文件   27602798  2016-02-25 14:35  toBinaryinDataUltraEdit32.rar

     目录          0  2017-11-13 14:15  toBinaryinData

     目录          0  2017-11-13 10:57  toBinaryoutData

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

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

             27604526                    5


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)