MATLAB(documentation):
>> double('α')
ans =
945
Octave 4.0.0,Ubuntu 16.04(documentation):
>> double('α')
ans =
206 177
为什么我会得到不同的结果?
注意:'α'是希腊小写的alpha。
答案 0 :(得分:12)
这是因为MATLAB中的默认编码为'US-ASCII'
(可能因Locale settings而异),而在Octave中,它是'UTF-8'
。
要确认,这是MATLAB的结果:
>> unicode2native('α', 'UTF-8')
ans =
1×2 uint8 row vector
206 177
您可以使用feature
或slCharacterEncoding()
检查编码:
feature('DefaultCharacterSet')
或
slCharacterEncoding()
根据Mathworks,您可以change your encoding使用:
slCharacterEncoding(encoding)
我在更改编码并获得相同结果后没有太多运气。这可能是一个错误。