gpt4 book ai didi

ruby 2 : Recognizing decomposed utf8 in XML entities (NFD)

转载 作者:数据小太阳 更新时间:2023-10-29 02:30:12 33 4
gpt4 key购买 nike

问题

问题很简单:我有包含这个值的 XML

穆勒

这似乎是用变音符号表示 u 的有效 XML 格式,就像这样。

穆勒

但是到目前为止,我们尝试过的所有解析器都会生成 —— 两个不同的字符。

背景

这种形式的 unicode (UTF-8) 使用两个代码点来表示单个字符;称为 Normalized Form Decomposed 或 NFD,二进制形式为 \303\274

大多数字符也可以表示为单个代码点和实体,包括这种情况。 XML 还可以包含 üüü 并且在二进制中是 \195\188 。这称为归一化形式组合。这些中的任何一个都可以正常工作。

正确回答问题

所以我认为问题是:

  • 是否有一个解析器(似乎不是 nokogiri)可以检测并规范化为我们喜欢的形式?
  • 是否有合理的方法让我们可靠地检测 NFD 形式的实体并将它们转换为 NFC 形式(或者有什么东西可以做到这一点?)

谢谢!

最佳答案

您使用的字符 U+00A8 (DIAERESIS) 不是组合字符 – 它不同于 U+0308 (COMBINING DIAERESIS )。 (这是我自己才发现的,不知道非组合分音符有什么用)。

在这种情况下,这种行为看起来是正确的,而您的 XML 是错误的(它应该使用 ̈ 而不是 ¨)。

关于 ruby 2 : Recognizing decomposed utf8 in XML entities (NFD),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24313185/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com