• 大小: 5KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-05
  • 语言: Matlab
  • 标签: huffman  编译码  

资源简介

非常详细的huffman编译码程序,统计文本内字符,进行编码,自动生成编码文本和译码后文本文件。并计算了压缩比,统计了字符出现概率。

资源截图

代码片段和文件信息

% Huffman Code
% By Xu Yao 2011-04-27
% -------------------------------------------------
clc;
clear all;
% 读入原始文本文件,统计各字符出现的个数和概率。
fid=fopen(‘abc.txt‘‘r‘);
data=fread(fid);
fclose(fid);
total_number=length(data);  % 取文本中字符总数。

i=1;j=1;a=0;M=1:1;symbols=[];
for ii=0:255
    a=0;
    i=1;
    while i        if data(i1)==ii
           a=a+1;   
       end
       i=i+1;
    end
    if a~=0
       M(j1)=a;  % 存储文本中各种字符出现的个数。
       symbols(j1)=char(ii);% 存储文本中出现各类字符。
       j=j+1;
    end
end
number_kind=length(symbols); % 统计文本中有多少种字符。

% ----------------------------------------------------
% 统计文本里面所有字符出现的次数,并且计算每个字符出现的概率。
 j=1;p=1:1:number_kind;
while j    p(j1)=(M(j1)/total_number);
    fprintf(‘\n‘);
    fprintf(‘char=%

评论

共有 条评论