MATLAB十进制到ASCII

时间:2014-06-19 11:13:58

标签: matlab binary ascii

我正在尝试将3x8矩阵转换为ASCII等效矩阵,并将其保存为文本文件。

每行代表一个8位二进制数。我遵循的步骤是为每行创建一个十进制值,然后使用char()将小数转换为ASCII。

这适用于字母数字输入。但对于包含前三个ASCII字符(NUL,SOH和STX)的输入,结果文件为空。

代码是:

bin_3x8 = reshape(serial,8,[]).'
dec = bin2dec(num2str(bin_3x8))
text = [char(dec).']

fileSave = fopen(filename,'w');
fprintf(fileSave,text);
fclose(fileSave); 

输出:

bin_3x8 = 
 0     0     0     0     0     0     0     0
 0     0     0     0     0     0     0     1
 0     0     0     0     0     0     1     0


dec =

 0
 1
 2 

text =

MATLAB控制台显示文本转换为空,我想这可能是因为它无法打印这些字符。但是如果我将数据写入文件,该文件也是空的。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试native2unicode。将编码设置为ascii。