繁体   English   中英

如何找到与我的alt代码匹配的字符

[英]How do I find a character matching my alt code

当我输入Alt + 1时我会回来☺我想在代码中使用一些神奇的方法来获取字符串中的☺字符。

像这样的东西:

string smiley = AltCodes.GetAltCodeCharacter(1).ToString();

// Display the Smiley
richTextBoxHappy.Text = smiley;

然后在富文本框中应该有:

您可以使用Unicode表(十进制)来查找代码,然后像这样使用它,例如:

int i = 9786;
textBoxHappy.Text = ((char)i).ToString();

结果图片:

在此输入图像描述

编辑

当然你可以创建你的自定义映射,例如一些Dictionary<string, int> (或你想要的任何自定义类型),并像{ "smiley", 9786 }一样添加代码,然后使用它altCode["smiley"]

更新

或者使用enum

enum AltCodes
{
    Smiley = 9786,
    NextSmiley = 9787
}

并使用它像:

textBoxHappy.Text = ((char)AltCodes.Smiley).ToString();

您甚至可以创建自定义解码器,然后在wpf TextBox编写alt代码(通过按住alt并键入数字),单击“Decode”并将代码值设置为int[] ,例如:

private int[] DecodeCharCode(string str) =>
    DecodeCharCode(str.ToArray());


private int[] DecodeCharCode(char[] chars)
{
    int[] result = new int[chars.Length];
    for (int i = 0; i < chars.Length; i++)
    {
        result[i] = (int)chars[i];
    }
    return result;
}

和用法(点击事件或命令):

int[] decodedCodes = DecodeCharCode(decodingText.Text);

这些数量有限。 你可以创建一个Dictionary<int, string>来存储所有这些:

IReadOnlyDictionary<int, string> altCodes = new Dictionary<int, string>() {
    {1, "☺"},
    {2, "\U0000263B"},
    // and so on...
};

并像这样访问它:

altCodes[1]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM