【问题标题】:How To Translate Unicode Value To Emoji String in C#? [closed]如何在 C# 中将 Unicode 值转换为表情符号字符串? [关闭]
【发布时间】:2020-05-11 22:18:11
【问题描述】:

我正在尝试将下面的表情符号转换为 c# 代码,以便我可以将代码放入 TreeView 节点或 facebook 或其他社交引擎中。我尝试了飞机的代码,并在树节点中显示了一个小飞机。但我使用另一个机场代码,如 U+1F6E9 它只显示一个小矩形而不是表情符号。请帮忙。

string tnt = "Airplane " + char.ConvertFromUtf32(int.Parse("U+2708".Substring(2), System.Globalization.NumberStyles.HexNumber));

MyTreeView.Nodes.Add(tnt);

【问题讨论】:

  • “不起作用”是什么意思?你有错误吗?出乎意料的结果?你需要具体。
  • 这可能有效。 link
  • 首先,U+1F347 是葡萄表情符号的 Unicode。高尔夫是U+26F3。其次,您的代码可以很好地输出目标表情符号。究竟是什么问题?请注意,“不起作用”不能很好地描述问题。
  • 我的意思是,我需要使用代码添加表情符号图标来表示 Treeview 树节点或 Facebook 帖子,使用从代码列中 unicode.org/emoji/charts/full-emoji-list.html#1f6b4 上显示的 unicode 值派生的代码。跨度>
  • @GRF 我测试了你的代码,两个表情都是displayed in the TreeView

标签: c#


【解决方案1】:

这是一个你可以用来在你的应用程序中实现不同表情符号的类。

public class Emoji
{
    readonly int[] codes;
    public Emoji(int[] codes)
    {
        this.codes = codes;
    }

    public Emoji(int code)
    {
        codes = new int[] { code };
    }

    public override string ToString()
    {
        if (codes == null)
            return string.Empty;

        var sb = new StringBuilder(codes.Length);

        foreach (var code in codes)
            sb.Append(Char.ConvertFromUtf32(code));

        return sb.ToString();
    }
}

我会使用这个网站上的代码unicode.org 而不是使用它在网站上的代码,比如“U+1F366”,我会使用“0x1F366”来指定十六进制表示法。希望这可以帮助。

【讨论】:

  • 是的。使用来自 Unicode.org 的那些代码。我怎么能用你的课说将表情符号图像添加到 Treeview 节点或 Facebook 帖子?
  • 这与问题中提供的代码没有什么不同。请说明此代码如何解决“因此我可以将代码放在 TreeView 节点或 facebook 或其他社交引擎中。我尝试了下面的代码但不起作用。”
  • 尼克,我尝试了上面的课程并将飞机表情符号作为图像放在树视图节点中。但是如果使用另一个飞机代码,图标应该在的地方只有一个小方块。请告知Emoji emoji = new Emoji(0x2708); // shows ✈string em = emoji.ToString();EmojiTreeView.Nodes.Add(em);Emoji emoji = new Emoji(0x1F6E9); // shows a tiny triangleem = emoji.ToString();EmojiTreeView.Nodes.Add(em);
猜你喜欢
  • 2018-08-28
  • 1970-01-01
  • 2019-05-20
  • 1970-01-01
  • 2015-04-02
  • 2016-10-22
  • 2012-01-27
  • 1970-01-01
  • 2015-10-18
相关资源
最近更新 更多