1

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

字符如:

° º ♦ ∎ ⊠ ❯ •

如果我输入 disp('∆')

我得到一个空白回复,字符没有打印出来。

4

1 回答 1

2

你的意思是输出:

 char(1:255)

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

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

figure;
labelStr=[ '<html> &deg; &diams; &#8718; &#8864; </html>'];
jLabel = javaObjectEDT('javax.swing.JLabel',labelStr);
[hcomponent,hcontainer] = javacomponent(jLabel,[100,100,40,20],gcf);
于 2013-03-22T04:11:06.343 回答