是否有可以使用 sprintf、fprintf 或 disp 打印的非 ASCII 字符的参考列表?
字符如:
° º ♦ ∎ ⊠ ❯ •
如果我输入 disp('∆')
我得到一个空白回复,字符没有打印出来。
你的意思是输出:
char(1:255)
请注意,在Matlab 的 char中,只有前 127 个字符对应于(非扩展)ASCII,之后的任何内容都是 Unicode16。Matlab 不能正确显示它的原因是由于 Matlab 命令窗口默认情况下不能很好地处理 Unicode。无论如何,输出到文件的字符不应该有任何差异;这只是一个显示问题。
然而,未记录的 Matlab 大师Yair Altman(参见undocumentedmatlab.com)展示了如何将 HTML 感知标签添加到绘图中。因此,您可以使用以下语法将 Unicode 字符放入此类标签中&#xHEXCODE;
,例如:
figure;
labelStr=[ '<html> ° ♦ ∎ ⊠ </html>'];
jLabel = javaObjectEDT('javax.swing.JLabel',labelStr);
[hcomponent,hcontainer] = javacomponent(jLabel,[100,100,40,20],gcf);