MATLAB(文档):
>> double('?')
ans =
945
Run Code Online (Sandbox Code Playgroud)
Octave 4.0.0,Ubuntu 16.04(文档):
>> double('?')
ans =
206 177
Run Code Online (Sandbox Code Playgroud)
为什么我会得到不同的结果?
注意:'α'是希腊小写字母alpha.
Sar*_*ama 12
这是因为MATLAB中的默认编码'US-ASCII'
(可能因Locale设置而异),而在Octave中则是'UTF-8'
.
为了确认,这是MATLAB的结果:
>> unicode2native('?', 'UTF-8')
ans =
1×2 uint8 row vector
206 177
Run Code Online (Sandbox Code Playgroud)
您可以使用feature
或检查编码slCharacterEncoding()
:
feature('DefaultCharacterSet')
Run Code Online (Sandbox Code Playgroud)
要么
slCharacterEncoding()
Run Code Online (Sandbox Code Playgroud)
根据Mathworks,您可以使用以下命令更改编码:
slCharacterEncoding(encoding)
Run Code Online (Sandbox Code Playgroud)
我没有太多运气来改变编码并获得相同的结果.这可能是一个错误.