德语变音符号到字符串的十六进制表示
我有一个字符串,其中非 ascii 字符编码为“\\'fc”(不带引号),其中 fc 是十六进制 252,对应于德语 ü 变音符号。
我设法找到所有发生的情况并可以替换它们。但我无法将 fc 转换为 ü。
"fc".hex.chr
给了我另一种表示...但如果我这样做了
puts "fc".hex.chr
,我什么也得不到...
提前致谢
PS:我正在研究 ruby 1.9 并且
# coding: utf-8
在文件顶部有。
I have a String that has non ascii characters encoded as "\\'fc" (without quotes), where fc is hex 252 which corresponds to the german ü umlaut.
I managed to find all occurences and can replace them. But I have not been able to convert the fc to an ü.
"fc".hex.chr
gives me another representation...but if I do
puts "fc".hex.chr
I get nothing back...
Thanks in advance
PS: I'm working on ruby 1.9 and have
# coding: utf-8
at the top of the file.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
fc 不是该字符的正确 UTF-8 代码点;这是 iso-8859-1 或 windows-1252。 ü 的 UTF-8 编码是两字节序列 c3bc。此外,FC 不是有效的 UTF-8 序列。
由于 Ruby 1.9 中假定使用 UTF-8,因此您应该能够使用以下命令获取文字 u-umlaut:
"\xc3\xbc"
fc is not the correct UTF-8 codepoint for that character; that's iso-8859-1 or windows-1252. The UTF-8 encoding for ü is the two-byte sequence, c3bc. Further, FC is not a valid UTF-8 sequence.
Since UTF-8 is assumed in Ruby 1.9, you should be able to get the literal u-umlaut with:
"\xc3\xbc"
您是否尝试过
Ruby 文档:
更新:
Jason True 是对的。
fc
是无效的 UTF-8。我不知道为什么我的例子有效!Have you tried
Ruby docs:
UPDATE:
Jason True is right.
fc
is invalid UTF-8. I have no idea why my example works!