輸入代碼。
十六進制批量轉ASCII,代碼如下:
private void button1_Click(object sender,EventArgs e)
{
textBox2.Text= HexStringToASCII(textBox1.Text);
}
/// <summary>
/// 將壹條十六進制字符串轉換為ASCII
/// </summary>
/// <param name="hexstring">壹條十六進制字符串</param>
/// <returns>返回壹條ASCII碼</returns>
public static string HexStringToASCII(string hexstring)
{
byte[] bt = HexStringToBinary(hexstring);
string lin = "";
for (int i = 0; i < bt.Length; i++)
{
lin = lin + bt[i] + " ";
}
string[] ss = lin.Trim().Split(new char[] { ' ' });
char[] c = new char[ss.Length];
int a;
for (int i = 0; i < c.Length; i++)
{
a = Convert.ToInt32(ss[i]);
c[i] = Convert.ToChar(a);
}
string b = new string(c);
return b;
}
/**/
/// <summary>
/// 16進制字符串轉換為二進制數組
/// </summary>
/// <param name="hexstring">字符串每個字節之間都應該有空格,大多數的串口通訊資料上面的16進制都是字節之間都是用空格來分割的。</param>
/// <returns>返回壹個二進制字符串</returns>
public static byte[] HexStringToBinary(string hexstring)
{
string[] tmpary = hexstring.Trim().Split(' ');
byte[] buff = new byte[tmpary.Length];
for (int i = 0; i < buff.Length; i++)
{
buff[i] = Convert.ToByte(tmpary[i], 16);
}
return buff;
}
比如輸入:41 42 25
得到結果:AB%