public class HEX
{
/// <summary>
/// 普通字符串转16进制
/// </summary>
/// <param name="data"></param>
public static string StringToHex(string data)
{
byte[] b = Encoding.UTF8.GetBytes(data); ;
string result = string.Empty;
for (int i = 0; i < b.Length; i++)
{
result += Convert.ToString(b[i], 16).ToUpper();
}
return result;
}
/// <summary>
/// 16进制转普通字符串
/// </summary>
/// <returns></returns>
public static string HexToString(string Hexdata)
{
string result = string.Empty;
byte[] arrByte = new byte[Hexdata.Length / 2];
int index = 0;
for (int i = 0; i < Hexdata.Length; i += 2)
{
arrByte[index++] = Convert.ToByte(Hexdata.Substring(i, 2), 16);
}
result = System.Text.Encoding.UTF8.GetString(arrByte);
return result;
}
}
测试
string s = "lw123abc测试信息!@#¥%……&*()——+";
Console.WriteLine("原数据:\t\t" + s);
String s2 = HEX.StringToHex(s);
Console.WriteLine("Hexdata:\t" + s2);
Console.WriteLine("data:\t\t" + HEX.HexToString(s2));