问题描述
尝试回答Play a sound any sound question时,遇到␇
字符。
但是,当我尝试在MATLAB中调用它时,我注意到一些奇怪的事情:什么都没有发生。
我使用R2012b将其从浏览器复制到MATLAB中。
以下是一些观察结果:
粘贴字符时,显示红色方块 按Enter时未出现错误。 向其添加零␇+0也不执行任何操作。 在字符串中使用它似乎是可能的,但会产生奇怪的结果:‘␇’+0=26 在函数中调用它有些奇怪,请尝试mean(␇)
,您的命令似乎永远不会结束(除了使用Ctrl+c)
最后,我的主要问题是:
在Matlab中运行␇
时会发生什么,为什么MATLAB以如此奇怪的方式处理此明显无效的输入?
matlab
您输入的character只是推荐答案命令提示符(甚至可能是编辑器)知道如何显示的范围之外的另一个unicode字符。仅仅因为它代表"贝尔的符号"并不意味着它有任何特殊意义或输入时会播放声音(不超过其他musical symbols如:♩
或)
当然,您始终可以将其保存为常规字符串并在GUI窗口中显示:
% The default on Windows is 'windows-1252'
feature('DefaultCharacterSet','UTF-8')
c = char(9223);
uicontrol('style','text', 'units','normalized', 'position',[0 0 1 1], ...
'string',['char = ' c], 'FontName','Arial Unicode MS', 'FontSize',72)
甚至以UTF-8格式获取其编码:
>> cellstr(dec2hex(unicode2native(c,'UTF-8')))
ans =
'E2'
'90'
'87'