//进制转换
int16 = 0x41;
int10 = Convert.ToInt32(int16);
Console.WriteLine("16进制int -> 10进制:" + int10.ToString());
str = Convert.ToString(int10, 16);
Console.WriteLine("10进制int -> 16进制:" + str);
str = Convert.ToString(int10, 2);
Console.WriteLine("10进制int -> 2进制:" + str);
str = "41";
int10 = Convert.ToInt32(str, 16);
Console.WriteLine("16进制string -> 10进制:" + int10.ToString());
str = "1000001";
int10 = Convert.ToInt32(str, 2);
Console.WriteLine("2进制string -> 10进制:" + int10.ToString());
//ASCII转换
int10 = 65;
ascii = ((char) int10).ToString();
Console.WriteLine("10进制int -> ASCII字符:" + ascii);
int16 = 0x41;
int10 = Convert.ToInt32(int16); // 16进制->10进制
bytes = System.BitConverter.GetBytes(int10); //int->byte[]
ascii = System.Text.Encoding.ASCII.GetString(bytes); //byte[]-> ASCII
Console.WriteLine("16进制int -> ASCII字符:" + ascii);
byte16 = 0x41;
ascii = ((char) byte16).ToString();
Console.WriteLine("16进制byte -> ASCII字符:" + ascii);
ascii = "ABC";
str = "";
size = ascii.Length;
for (index = 0; index < size; index++)
{
int10 = (int)Convert.ToChar(ascii.Substring(index, 1));
sb.Append(int10.ToString());
sb.Append(" ");
}
str = sb.ToString();
Console.WriteLine("ASCII字符串 -> 10进制:" + str);
sb.Clear();
ascii = "ABC";
bytes = System.Text.ASCIIEncoding.Default.GetBytes(ascii);
foreach (byte b in bytes)
{
sb.Append(b.ToString("x"));
sb.Append(" ");
}
str = sb.ToString();
Console.WriteLine("ASCII字符串 -> 16进制:" + str);
sb.Clear();
str = "414243";
size = str.Length;
sb =new StringBuilder();
for (index = 0; index < size; index += 2)
{
sb.Append(((char) Convert.ToByte(str.Substring(index, 2), 16)).ToString());
}
Console.WriteLine("16进制string -> ASCII字符串:" + sb.ToString());
//16进制字符串 -> byte[]
public static byte[] HexToByte(string hexString)
{
var length = hexString.Length / 2;
var returnBytes = new byte[length];
for (var index = 0; index < length; index++)
{
returnBytes[index] = Convert.ToByte(hexString.Substring(index * 2, 2), 16);
}
return returnBytes;
}
//byte[] -> 16进制字符串
public static String ByteArrayToHexStr(Byte[] byteArray)
{
var hexStr = String.Empty;
if (byteArray != null)
{
var strBuilder = new StringBuilder();
var length = byteArray.Length;
for (var index = 0; index < length; index++)
{
strBuilder.Append(byteArray[index].ToString("X2"));
}
hexStr = strBuilder.ToString();
}
return hexStr;
}
代码下载地址: http://download.csdn.net/detail/index_cqq/9477085