【发布时间】:2014-08-09 21:49:59
【问题描述】:
我正在尝试将 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 控制台显示文本转换为空,我想这可能是因为它无法打印这些字符。但是如果我将数据写入文件,该文件也是空的。
有什么建议吗?
【问题讨论】:
-
您已经给出了输出示例,但您的输入在哪里?