代码之家  ›  专栏  ›  技术社区  ›  Bad Dub

在C中使用Unicode值#

  •  0
  • Bad Dub  · 技术社区  · 6 年前

    在我的应用程序中使用unicodes时,出现了这种奇怪的情况。我有一个随机独角兽列表,然后随机分配给一个对象。

    var icons = new List<string> { "\uf022", "\uf039", "\uf02b", "\uf1b2", "\uf07b" };
    

    当我调试对象时 Object.Icon 房地产展会 "." 这是Unicode的正确值。当我在xaml页面上显示unicodes时,将显示正确的图标。

    Unicode from application list

    所以当我开始工作时,我想把unicode值移到数据库中,而不是随机的。但是现在当我调试对象时 对象图标 地产展” \\unicodevalue" 即“\uf022”。

    enter image description here

    在xaml页面上显示此值时,它将显示为文本值uf022而不是图标。

    图标列表中的字符串和数据库中的字符串值有什么区别?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Sweeper    6 年前

    数据库中的unicode序列的反斜杠已转义,因此 "\\uf042" 总共有6个字符:反斜杠、“u”、“f”、“0”、“4”和“2”。

    然而,代码中的unicode序列实际上只是c的一个字符,它们是unicode代码点的文本。

    若要将数据库中的值更改为单个Unicode代码点,请尝试 Char.ConvertFromUtf32 方法。

    推荐文章