我正在尝试将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控制台显示文本转换为空,我想这可能是因为它无法打印这些字符。但是如果我将数据写入文件,该文件也是空的。
有什么建议吗?
答案 0 :(得分:0)
您可以尝试native2unicode
。将编码设置为ascii。