2

可能重复:
.NET 将十六进制值字符串转换为 Unicode 字符(支持不同的代码页)

想要将包含 ASCII 字符串的字符串转换为文本,我似乎只能找到从 Byte[] 转换的 System.Text.ASCIIEncoding.ASCII.GetString 但在这种情况下,我希望能够做到从一个字符串。

its a string containing ASCII hex: For example : ASCI = 47726168616D would equal Graham

是否有任何内置功能?帮助将不胜感激,谢谢。

4

1 回答 1

7
private static string GetStringFromAsciiHex(String input)
{
    if (input.Length % 2 != 0)
        throw new ArgumentException("input");

    byte[] bytes = new byte[input.Length / 2];

    for (int i = 0; i < input.Length; i += 2)
    {
        // Split the string into two-bytes strings which represent a hexadecimal value, and convert each value to a byte
        String hex = input.Substring(i, 2);
        bytes[i/2] = Convert.ToByte(hex, 16);                
    }

    return System.Text.ASCIIEncoding.ASCII.GetString(bytes);
}
于 2012-04-27T11:50:12.363 回答