% 采用ASCII码的方式将字符变成二进制码,其中一个字节(8比特)代表一个字符。
% 将自己的姓名的拼音字母转换成二进制码流。
% 绘出二进制码流的图形,并在图形上标出二进制码。
% ------------------------------
xm=input('请输入: ','s');
switch isempty(xm);
case 0
str2cod(xm);
case 1
disp('ERROR!')
end
%编写M函数str2cod.m用来实现字符串的编码过程
% 采用ASCII码的方式将字符变成二进制码,其中一个字节(8比特)代表一个字符。
% 将自己的姓名的拼音字母转换成二进制码流。
% 绘出二进制码流的图形,并在图形上标出二进制码。
% ------------------------------
function x=str2cod(s)
if nargin<1;
disp('ERROR!') %若什么都没有输入,显示错误
else
[m,n]=size(s);
for i=1:m
xi=dec2bin(abs(s(i,:)))-48;
[m1,n1]=size(xi);
if n1==6;
xi=[zeros(m1,2) xi];
elseif n1==7;
xi=[zeros(m1,1) xi];
end;
xi=xi';
xi=xi(:)';
x(i,:)=xi;
end;
a=reshape(x,length(x)/8,8); %将结果每行8个输出
disp('这是你所输入的字符串')
disp(s)
disp('所转换的二进制码流为: ')
disp(a)
stem(x,'filled')
title('采用ASCII码的方式将字符变成二进制码')
axis([0 length(x)+5 -0.5 1.5])
xlabel('序列长度');ylabel('二进制码流');
grid on
end
这是一篇未完的程序,只有简单的构架。还需要完善。
P.S:算法非我原创,是基于网上程序改动而成。