MATLAB十进制到ASCII
我正在尝试将3x8矩阵转换为ASCII等效矩阵,并将其保存到文本文件中 每行代表一个8位二进制数。我遵循的步骤是为每行创建一个十进制值,然后使用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(
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。您已经给出了一个输出示例,但您的输入在哪里?