16进制编码解码

public class ConvertHelper
{
/// <summary>
/// 16进制数转ASCII字符串
/// </summary>
/// <param name="strArrHex"></param>
/// <returns></returns>
public static string ConvertHexArrToString(string[] strArrHex)
{
//30 41 30 31 0 7e 8 0 11 0 0 7e 76 7f转换后0A01\0~\b\0\0\0~v
string strReturn = "";
foreach (String item in strArrHex)
{
int value = Convert.ToInt32(item, 16);
strReturn += Char.ConvertFromUtf32(value);
}
return strReturn;
}
/// <summary>
/// ASCII字符串转16进制数
/// </summary>
/// <param name="strASCII"></param>
/// <returns></returns>
public static string ConvertASCIIToHex(string strASCII)
{
//0A01\0~\b\0\0\0~v 转换后 30 41 30 31 0 7e 8 0 11 0 0 7e 76 7f
byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(strASCII);
StringBuilder sb = new StringBuilder();
foreach (byte b in ba)
{
sb.Append(b.ToString("x2") + " ");
}
return sb.ToString();
}
}

posted @ 2015-08-17 19:38  黄忠  阅读(3910)  评论(0编辑  收藏  举报