C# 如何在C中显示二进制数的扩展ASCII字符?

C# 如何在C中显示二进制数的扩展ASCII字符?,c#,binary,ascii,typeconverter,C#,Binary,Ascii,Typeconverter,我正在尝试将二进制数转换为ASCII字符。当我在文本框或标签中显示二进制数时,我得到的是symbol?。我想得到所有ASCII字符,包括带有原始符号的扩展字符 我就是拿不到扩展的。我找了两天都没找到 有人能帮我吗 编辑:我的代码是这样的,当我尝试扩展ASCII时,我只是进入标签 简单解释: String binary= "11001100"; label1.text = BinaryToString(binary); public static string BinaryToString(s

我正在尝试将二进制数转换为ASCII字符。当我在文本框或标签中显示二进制数时,我得到的是symbol?。我想得到所有ASCII字符,包括带有原始符号的扩展字符

我就是拿不到扩展的。我找了两天都没找到

有人能帮我吗

编辑:我的代码是这样的,当我尝试扩展ASCII时,我只是进入标签

简单解释:

String binary= "11001100";
label1.text = BinaryToString(binary);


public static string BinaryToString(string data)
    {
        List<Byte> byteList = new List<Byte>();

        for (int i = 0; i < data.Length; i += 8)
        {
            byteList.Add(Convert.ToByte(data.Substring(i, 8), 2));
        }

        return Encoding.ASCII.GetString(byteList.ToArray());
    }
Encoding.ASCII它仅适用于最低的128个字符。对于单个字节的任意转换,您可能真正想要的是基于


显示您尝试过的内容…听起来您已经有部分工作代码了。你应该证明这一点,这样它就可以被修复,而不是要求从头开始解决。谢谢你的回答,内森,我试过了,但你的代码给了我一个错误。原因是它无法将字节247转换为unicode。另外,当我尝试更改代码时,新的UTF8Encodingtrue、false;这不是给文一个错误,但我想我是在避免一些错误。好的,我想我知道交易是什么,即UTF-8的设计不只是解码任何旧的字节集,但有一些序列,它不会为任何定义的字符编码,所以检查我的编辑,看看它是否现在。
private static Encoding cp437 = Encoding.GetEncoding(437);
public static string BinaryToString(string data) {
    List<Byte> byteList = new List<Byte>();

    for (int i = 0; i < data.Length; i += 8) {
        byteList.Add(Convert.ToByte(data.Substring(i, 8), 2));
    }

    return cp437.GetString(byteList.ToArray());
}