rle_v1.m

来自「RLE for text compression.」· M 代码 · 共 53 行

M
53
字号
% implemenatre codor RL-V3

clc;clear;
filename = 'input.txt';

f = textread(filename,'%s','delimiter','\n','whitespace','');
f = char(f);

% convert 2D array into 1D array...
[n,m] = size(f);
x = [];
for i = 1:n,
   for j = 1:m, 
      x = [x ; f(i,j)]; 
  end;
end;

ychar = [];         % output vector of type "byte"
ynum = [];
pos = 1;
count = 1;
for i = 2:length(x),
    if x(i) == x(pos),
        count = count + 1;            
    else
        ychar = [ ychar x(pos)];
        ynum =  [ynum count];
        pos = i;
        count = 1;
    end;
% check-out..
    if i == length(x),
        ychar = [ ychar x(pos)];
        ynum =  [ynum count];
    end;
end;
ychar
ynum
    

% write to file ...
fileout = 'input_RLE.txt';
fid = fopen(fileout,'w');
for i=1:length(ychar);
    fwrite(fid, ychar(i), 'integer*1');
    fwrite(fid, ynum(i), 'integer*1');
end;
fclose(fid);




⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?