解释一下这些转义数字在 ruby 1.8.7 中的 unicode 编码中意味着什么
0186是unicode“代码”。 198和134从哪里来?如何才能反过来,从这些字节码到 unicode 字符串呢?
>> c = JSON '["\\u0186"]'
[
[0] "Ɔ"
]
>> c[0][0]
198
>> c[0][1]
134
>> c[0][2]
nil
另一个令人困惑的事情是解压。另一个看似随意的数字。这是从哪里来的?它甚至正确吗?来自 1.8.7 String#unpack 文档 :
你|整数| UTF-8 字符作为无符号整数
>> c[0].unpack('U')
[
[0] 390
]
>
0186 is the unicode "code". Where do 198 and 134 come from? How can go the other way around, from these byte codes to unicode strings?
>> c = JSON '["\\u0186"]'
[
[0] "Ɔ"
]
>> c[0][0]
198
>> c[0][1]
134
>> c[0][2]
nil
Another confusing thing is unpack. Another seemingly arbitrary number. Where does that come from? Is it even correct? From the 1.8.7 String#unpack documentation:
U | Integer | UTF-8 characters as unsigned integers
>> c[0].unpack('U')
[
[0] 390
]
>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在这里找到答案 Unicode 字符 '拉丁大写字母 OPEN O' (U +0186):
您可以在维基百科的文章 UTF-8。
You can find your answers here Unicode Character 'LATIN CAPITAL LETTER OPEN O' (U+0186):
You can read more about UTF-8 encoding on Wikipedia's article on UTF-8.