解释这些转义数字在ruby 1.8.7的unicode编码中的含义

解释这些转义数字在ruby 1.8.7的unicode编码中的含义,ruby,unicode,Ruby,Unicode,0186是unicode“代码”。198和134来自哪里?从这些字节码到unicode字符串,我们怎么能反过来呢 >c=JSON'[“\\u0186”] [ [0] "Ɔ" ] >>c[0][0] 198 >>c[0][1] 134 >>c[0][2] 无 另一件令人困惑的事情是解包。另一个看似任意的数字。那是从哪里来的?这是正确的吗?从: U |整数| UTF-8字符作为无符号整数 你可以在这里找到答案: 注意186(十六进制)==390(十进制) C/C++/Java源代码:“\u0

0186是unicode“代码”。198和134来自哪里?从这些字节码到unicode字符串,我们怎么能反过来呢

>c=JSON'[“\\u0186”]
[
[0] "Ɔ"
]
>>c[0][0]
198
>>c[0][1]
134
>>c[0][2]
无

另一件令人困惑的事情是解包。另一个看似任意的数字。那是从哪里来的?这是正确的吗?从:

U |整数| UTF-8字符作为无符号整数


你可以在这里找到答案:

  • 注意186(十六进制)==390(十进制)
  • C/C++/Java源代码:“\u0186”
  • UTF-32(十进制):390
  • UTF-8(十六进制):0xC6 0x86(即198 134)
你可以在维基百科的文章上阅读更多关于UTF-8编码的内容

  • UTF-8(UCS转换格式-8位[1])是一种可变宽度编码,可以表示Unicode字符集中的每个字符。它是为了向后兼容ASCII而设计的,并且避免了UTF-16和UTF-32中的尾数和字节顺序标记的复杂性
>> c[0].unpack('U')
[
    [0] 390
]
>