using System; using System.Text; namespace ConsoleApplication1 { class Program { public static void Main(string[] args) { Console.WriteLine(ConvertStringFromHex("d6d0bbaac8cbc3f1b9b2bacdb9fa"));
} public static string ConvertStringFromHex(string hex) { byte[] mybyte = new byte[hex.Length / 2]; for (int i = 0; i < hex.Length; i=i+2) { mybyte[i/2] = byte.Parse(hex.Substring(i,2),System.Globalization.NumberStyles.AllowHexSpecifier); } return Encoding.Default.GetString(mybyte); } }
/// <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;
}
逆转见这里
十六进制字符串对应CAAEC1F9BDF8D6C6D7D6B7FBB4AE
两个两个的加吧
d6 d0 bb aa c8 cb c3 f1 b9 b2 ba cd b9 fa
char(0xd6)+char(0xd0)
string Data = "d6d0bbaac8cbc3f1b9b2bacdb9fa";
byte[] temp = new byte[14];
int i;
for(i=0 ;i< (Data.Length)/2;i++)
{
temp[i] = Convert.ToByte(Data.Substring(i*2,2),16);
} MessageBox.Show( System.Text.Encoding.Default.GetString(temp));
me too
using System;
using System.Text;
namespace ConsoleApplication1
{
class Program
{ public static void Main(string[] args)
{
Console.WriteLine(ConvertStringFromHex("d6d0bbaac8cbc3f1b9b2bacdb9fa"));
} public static string ConvertStringFromHex(string hex)
{
byte[] mybyte = new byte[hex.Length / 2];
for (int i = 0; i < hex.Length; i=i+2)
{
mybyte[i/2] = byte.Parse(hex.Substring(i,2),System.Globalization.NumberStyles.AllowHexSpecifier); }
return Encoding.Default.GetString(mybyte);
}
}
}