我有 ruby 2.0.0p195(2013-05-14 修订版 40734)[x86_64-linux] 当我运行以下代码时:
char = "\u00D7"
(1..10).each {
puts char.bytes.collect { |b| b.ord }.inspect
puts char
char.next!
}
我得到以下输出:
[195, 151]
×
[195, 152]
Ø
[195, 153]
Ù
[195, 154]
Ú
[195, 155]
Û
[195, 156]
Ü
[195, 157]
Ý
[195, 158]
Þ
[195, 159]
ß
[195, 160]
à
但是,当我将 char 初始化为时\u00D6
,如下所示:
char = "\u00D6"
(1..10).each {
puts char.bytes.collect { |b| b.ord }.inspect
puts char
char.next!
}
我得到以下信息:
[195, 150]
Ö
[195, 128, 195, 128]
ÀÀ
[195, 128, 195, 129]
ÀÁ
[195, 128, 195, 130]
ÀÂ
[195, 128, 195, 131]
ÀÃ
[195, 128, 195, 132]
ÀÄ
[195, 128, 195, 133]
ÀÅ
[195, 128, 195, 134]
ÀÆ
[195, 128, 195, 135]
ÀÇ
[195, 128, 195, 136]
ÀÈ
为什么每种情况下的行为如此不同?