/// <summary>
/// 将指定编码的字符串转换成十六进制
/// </summary>
/// <param name="src">原串</param>
/// <param name="encode">原串编码</param>
/// <returns>十六进制串</returns>
public static string ConvertStringToHex(string src, Encoding encode)
{
byte[] buffer = encode.GetBytes(src);
string hex = string.Empty;
for (int i = 0; i < buffer.Length; i++)
{
string t=buffer[i].ToString("x");
if (t.Length == 1) t = "0" + t;
hex += t;
}
return hex;
}
/// 将指定编码的字符串转换成十六进制
/// </summary>
/// <param name="src">原串</param>
/// <param name="encode">原串编码</param>
/// <returns>十六进制串</returns>
public static string ConvertStringToHex(string src, Encoding encode)
{
byte[] buffer = encode.GetBytes(src);
string hex = string.Empty;
for (int i = 0; i < buffer.Length; i++)
{
string t=buffer[i].ToString("x");
if (t.Length == 1) t = "0" + t;
hex += t;
}
return hex;
}
..
/// <summary>
/// 将十六进制串转换为指定编码的字符串
/// </summary>
/// <param name="hex">十六进制串</param>
/// <param name="encode">要转换成的字符串的编码</param>
/// <returns>指定编码的字符串</returns>
public static string ConvertStringFromHex(string hex, Encoding encode)
{
string src = string.Empty;
int len = hex.Length / 2;
byte[] buffer = new byte[len];
for (int i = 0; i < len; i++)
{
buffer[i] = Convert.ToByte(hex.Substring(i * 2, 2), 16);
}
src = encode.GetString(buffer);
return src;
}
/// 将十六进制串转换为指定编码的字符串
/// </summary>
/// <param name="hex">十六进制串</param>
/// <param name="encode">要转换成的字符串的编码</param>
/// <returns>指定编码的字符串</returns>
public static string ConvertStringFromHex(string hex, Encoding encode)
{
string src = string.Empty;
int len = hex.Length / 2;
byte[] buffer = new byte[len];
for (int i = 0; i < len; i++)
{
buffer[i] = Convert.ToByte(hex.Substring(i * 2, 2), 16);
}
src = encode.GetString(buffer);
return src;
}