将源文件读入matlab后二进制输出到文本文件
【更新代码】将源文件读入matlab后二进制输出到文本文件,博客地址:http://blog.csdn.net/GSH_Hello_World/article/details/78455891
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 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
% 输入: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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)