日期:2014-05-19  浏览次数:21112 次

急,急!在C#中如何将ASCII转换为汉字或者字符呀?
如:af|d7|b0|cf|e1|b3|b5|20|d4|d9|c0|ad|36|b6|d6|bb|f2|33|35|
如何转换为汉字或者字符

------解决方案--------------------
http://www.mltang.com/article/a29f3252-ccdf-4782-ac2d-6600626d68bf.html
------解决方案--------------------
试试看:
string str = "af|d7|b0|cf|e1|b3|b5|20|d4|d9|c0|ad|36|b6|d6|bb|f2|33|35| ";
string[] codes = str.Split(new char[] { '| ' });

string _str = string.Empty;
for (int i = 0; i < codes.Length; i++)
{
if (!string.IsNullOrEmpty(codes[i]))
{
_str += (char)int.Parse(codes[i], System.Globalization.NumberStyles.HexNumber);
}
}
Console.WriteLine(_str);
------解决方案--------------------
先逐字节(两个16进制字符)转为Byte数组arr,然后用System.Text.Encoding.Default.GetString(arr)即可

这位说的对,写成Byte[],然后如果这是用Unicode编码的,你就可以用Encoding.Unicode.GetString()。
------解决方案--------------------
string str = "af|d7|b0|cf|e1|b3|b5|20|d4|d9|c0|ad|36|b6|d6|bb|f2|33|35| ";
string[] codes = str.Split(new char[] { '| ' });
byte[] bytes = new byte[codes.Length];

string _str = string.Empty;
for (int i = 0; i < codes.Length; i++)
{
if (!string.IsNullOrEmpty(codes[i]))
{
bytes[i] =Convert.ToByte( (char)Convert.ToInt32(codes[i], 16));

}
}
输出:
"跋岢?再拉6吨或35 "