试图将字符串(用HEX)转换为在文本框中显示扩展的ASCII字符



我试图采用十六进制FFFFFFFF7DA98035的字符串,并在我的程序中的文本框中显示其扩展的ASCII字符。我有问题,80作为它的-128,什么也不显示。

Visual Studio编译时没有错误,但在解析字符串时抛出异常。

private static string ConvertHextoAscii(string HexString)
{
    byte[] data = new byte[HexString.Length / 2];
    for (int i = 0; i < HexString.Length - 1; i += 2)
    {
        data[i / 2] = byte.Parse(HexString.Substring(i, 2));
    }
    return Encoding.GetEncoding("Windows-1252").GetString(data);
}

byte.Parse期望一个包含整数(十进制)的字符串。但是,HexString.Substring(i, 2)将返回一个十六进制数字(作为字符串)。

执行以下操作指示byte.Parse期望十六进制数:

data[i / 2] = byte.Parse(HexString.Substring(i, 2), NumberStyles.HexNumber);

相关内容

  • 没有找到相关文章

最新更新