【发布时间】:2017-12-12 16:02:17
【问题描述】:
MATLAB (documentation):
>> double('α')
ans =
945
Octave 4.0.0,Ubuntu 16.04 (documentation):
>> double('α')
ans =
206 177
为什么我会得到不同的结果?
注意:“α”是希腊小写字母。
【问题讨论】:
MATLAB (documentation):
>> double('α')
ans =
945
Octave 4.0.0,Ubuntu 16.04 (documentation):
>> double('α')
ans =
206 177
为什么我会得到不同的结果?
注意:“α”是希腊小写字母。
【问题讨论】:
这是因为 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)
我在更改编码并在之后获得相同结果方面运气不佳。这可能是一个错误。
【讨论】: