我需要在blocs中拆分Text,每个块的大小为16, 例如:
文本:
60 3d eb 10 15 ca 71 be 2b 73 ae f0 85 7d 77 81 1f 35 2c 07 3b 61 08 d7 2d 98 10 a3 09 14 df f4 60 3d eb 10 15 ca 71 be 2b 73 ae f0 85 7d 77 81 1f 35 2c 07 3b 61 08 d7 2d 98 10 a3 09 14 df f4
结果:
60 3d eb 10 15 ca 71 be 2b 73 ae f0 85 7d 77 81
1f 35 2c 07 3b 61 08 d7 2d 98 10 a3 09 14 df f4
60 3d eb 10 15 ca 71 be 2b 73 ae f0 85 7d 77 81
1f 35 2c 07 3b 61 08 d7 2d 98 10 a3 09 14 df f4
如果你能帮助我,我将非常感激。
答案 0 :(得分:2)
您可以使用fread
阅读此内容,然后重新整形数据。
fid = fopen('filename.txt', 'r');
alldata = fread(fid, '*char');
data = reshape(alldata, 3*16, []).';
fclose(fid)
如果您想要更强大的功能,可以使用textscan
。
fid = fopen('filename.txt', 'r');
alldata = textscan(fid, '%s');
data = cell2mat(reshape(alldata{1}, 32, [])).';
fclose(fid)
如果空格很重要,您可以使用strjoin
来维护空格
tmp = reshape(alldata{1}, 16, []).';
tmp = arrayfun(@(x)strjoin(tmp(x,:)), 1:size(tmp, 1), 'uniformoutput', false);
data = cat(1, tmp{:})