double(<character>) 在 MATLAB 和 Octave 中给出不同的结果
double(<character>) gives different result in MATLAB and Octave
MATLAB (documentation):
>> double('α')
ans =
945
八度 4.0.0,Ubuntu16.04 (documentation):
>> double('α')
ans =
206 177
为什么我得到不同的结果?
注意: 'α' 是希腊语小写 alpha。
这是因为 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)
我在更改编码和之后获得相同结果方面运气不佳。这可能是一个错误。
MATLAB (documentation):
>> double('α')
ans =
945
八度 4.0.0,Ubuntu16.04 (documentation):
>> double('α')
ans =
206 177
为什么我得到不同的结果?
注意: 'α' 是希腊语小写 alpha。
这是因为 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)
我在更改编码和之后获得相同结果方面运气不佳。这可能是一个错误。