【问题标题】:MATLAB Decimal to ASCIIMATLAB 十进制转 ASCII
【发布时间】: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 控制台显示文本转换为空,我想这可能是因为它无法打印这些字符。但是如果我将数据写入文件,该文件也是空的。

有什么建议吗?

【问题讨论】:

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

标签: matlab binary ascii


【解决方案1】:

你可以试试native2unicode。设置编码为ascii。

【讨论】:

    猜你喜欢
    • 2015-02-14
    • 1970-01-01
    • 2011-08-02
    • 2012-11-14
    • 2020-11-20
    • 2014-06-22
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多