MATLAB十进制到ASCII

MATLAB十进制到ASCII,matlab,binary,ascii,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(

我正在尝试将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控制台显示文本转换为空,我认为这可能是因为它无法打印这些字符。但是如果我将数据写入一个文件,该文件也是空的

有什么建议吗


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

您已经给出了一个输出示例,但您的输入在哪里?