在matlab中调用␇字符时会发生什么情况

人气:216 发布:2022-10-16 标签: ascii matlab windows-server-2008-r2

问题描述

尝试回答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'

130