【问题标题】:Difference between &and & Character Encoding&和&字符编码的区别
【发布时间】:2011-04-15 12:14:47
【问题描述】:

我正在构建一个 CAML 查询,并且我的一些值具有

“&”在U2U CAML Builder中翻译为“&”

但是,当我尝试匹配列表中带有“&”的项目时,它会失败。

当我在 valeus 中输入“&”时,它会转换为“&”

“&”和“&”之间有什么区别,我应该如何在代码(vb.net)中解释这种区别?

【问题讨论】:

  • & = Unicode 字符 'FULLWIDTH AMPERSAND' (U+FF06)

标签: character-encoding special-characters


【解决方案1】:

字符是 Unicode U+0026 &​ 和号 (38decimal, HTML: & &),这是继承自 ASCII 中的相同值。除此之外,Unicode 还有变体:

* U+FE60 ﹠​ small ampersand (HTML: ﹠ )
* U+FF06 &​ fullwidth ampersand (HTML: & in block Halfwidth and Fullwidth Forms)
* U+214B ⅋​ inverted ampersand (HTML: ⅋ )

信息:

http://www.fileformat.info/info/unicode/char/ff06/index.htm

更多信息:

http://en.wikipedia.org/wiki/Ampersand

希望对你有帮助

【讨论】:

    【解决方案2】:

    我现在遇到了同样的问题,经过一番研究后,我发现,SharePoint 将带有与符号 (&) 的分类值保存为全角与符号 (&) (unicode)。 您可以将搜索查询值 (&) 与 TaxonomyItem.NormalizeName() 转换为全角与 (&)(请参阅 https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.taxonomy.taxonomyitem.normalizename(v=office.14).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1),反之亦然 string.Normalize()(请参阅 Convert fullwidth to halfwidth

    您可以在此处找到一篇关于 SharePoint & 符号的好文章:

    https://nickhobbs.wordpress.com/2012/03/29/sharepoint-2010-managed-metadata-converts-ampersand-and-double-quotes-to-unicode/

    【讨论】:

      【解决方案3】:

      正如其他人指出的那样,&是字符FULLWIDTH&ampersand,而&是一个普通的&ampersand。 Unicode 数据库将这些字符声明为兼容,这意味着如果将 & 和 & 都转换为 NFKD 范式,最终将得到相同的结果(特别是 &)。如果您希望将 & 和 & 视为同一个字符,也许您可​​以找到一个将您的字符串转换为 NFKD 的函数。

      【讨论】:

        猜你喜欢
        • 2011-01-28
        • 2013-10-17
        • 1970-01-01
        • 1970-01-01
        • 2010-12-21
        • 1970-01-01
        • 2021-11-27
        • 1970-01-01
        相关资源
        最近更新 更多