C# 获取字符的Alt代码

C# 获取字符的Alt代码,c#,encoding,converter,C#,Encoding,Converter,我正在创建一个字符到Alt代码转换器。我需要知道如何从字符中获取Alt代码 编辑: 如果没有人知道Alt代码是什么,那么它就是Alt+3+6=$。在评论中尝试一下。如果您使用Mac 编辑2: 将ASCII字符转换为整数无效 alt代码只是字符的十进制数,因此基本上只需将字符转换为数字即可。您可以使用转换方法将其转换为int,但随后必须调用一个方法。实际上,您只需将其转换为十进制,它就会知道该做什么 static void Main(string[] args) {

我正在创建一个字符到Alt代码转换器。我需要知道如何从字符中获取Alt代码

编辑: 如果没有人知道Alt代码是什么,那么它就是Alt+3+6=$。在评论中尝试一下。如果您使用Mac

编辑2:
将ASCII字符转换为整数无效

alt代码只是字符的十进制数,因此基本上只需将字符转换为数字即可。您可以使用转换方法将其转换为int,但随后必须调用一个方法。实际上,您只需将其转换为十进制,它就会知道该做什么

    static void Main(string[] args)
    {
        char input = '$';

        decimal output = input;

        Console.WriteLine(output);
    }

对于Windows中的任何GUI应用程序,使用数字键盘键入的代码将根据机器的默认代码页进行解释。在西欧和美洲,可能离你家很近,名字和你一样,它将是Windows-1252。但不包括俄罗斯、东欧、中东等国家

使用Encoding.Default.GetBytes()避免依赖默认代码页。如果获取的字节[]包含0x3f(“?”)或多个元素,则无法输入


请注意控制台模式应用程序的问题。它们通常使用传统的MS Dos代码页编码运行,437在你们的脖子上,但在世界的另一个地方又是非常不同的。Alt代码现在生成一个完全不同的字符,由Console.OutputEncoding确定。从这个问题上看,您如何解决这个问题并不明显,我想您需要知道哪些特定的进程将使用这些代码。如果你开始觉得这个项目是一个错误,那么你的方向是正确的。

你希望支持哪些字符范围?您希望支持哪种类型的Alt代码?@David您确定吗?这将为您提供Unicode代码点。例如,字符
È
的代码为200。但是,Alt代码有不同的类别。要键入
È
,您可以使用
Alt+0200
,但不能使用三位数的Alt代码。@CodeCaster刚刚意识到,输入È后,给了我200,这是╚. 这给了我9562等…@DavidWheatley这一切都取决于你的实际范围。如果你需要扩展的ascii字符,那么你可能需要一些更聪明的东西,但是如果你只想处理基本的127 ascii图表,那么把它复杂化有什么意义吗?我认为这个项目是一个错误。老实说,我很无聊,为了好玩,早些时候就开始了这个项目,但现在它开始变成一个让我想把头发撕下来的项目了!