德语变音符号到字符串的十六进制表示

发布于 2024-10-28 10:10:43 字数 350 浏览 3 评论 0原文

我有一个字符串,其中非 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

野鹿林 2024-11-04 10:10:43

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"

極樂鬼 2024-11-04 10:10:43

您是否尝试过

puts "fc".hex.chr(Encoding::UTF_8)

Ruby 文档:

更新:

Jason True 是对的。 fc 是无效的 UTF-8。我不知道为什么我的例子有效!

Have you tried

puts "fc".hex.chr(Encoding::UTF_8)

Ruby docs:

UPDATE:

Jason True is right. fc is invalid UTF-8. I have no idea why my example works!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文