在Matlab中可以打印多少个字符(非ASCII)?

时间:2013-03-22 04:06:58

标签: matlab character printf

是否有可以使用sprintf,fprintf或disp打印的非ASCII字符的参考列表?

字符如:

° º ♦ ∎ ⊠ ❯ •

如果输入disp('Δ')

我得到一个空白回复,不打印该字符。

1 个答案:

答案 0 :(得分:2)

您的意思是:

的输出
 char(1:255)

请注意,在Matlab's char中,只有前127个字符对应于(非扩展)ASCII,之后的任何内容都是Unicode16。 Matlab没有正确显示的原因是由于Matlab命令窗口默认情况下不能很好地处理Unicode。 在任何情况下,字符输出到文件不应导致任何差异;它只是一个显示问题。

然而,未经证实的Matlab专家Yair Altman(参见undocumentedmatlab.com)展示了如何为绘图添加HTML感知标签。因此,您可以使用&#xHEXCODE;语法将Unicode字符放入此类标签中,例如:

figure;
labelStr=[ '<html> &deg; &diams; &#8718; &#8864; </html>'];
jLabel = javaObjectEDT('javax.swing.JLabel',labelStr);
[hcomponent,hcontainer] = javacomponent(jLabel,[100,100,40,20],gcf);