将ASCII字符串转换为普通字符串C#

时间:2012-04-27 11:26:11

标签: c# ascii

  

可能重复:
  .NET Convert from string of Hex values into Unicode characters (Support different code pages)

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

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

这有内置功能吗?感谢帮助,谢谢。

1 个答案:

答案 0 :(得分:6)

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);
}