--------//C#中各種字符類型的轉化,使用於串口通信------------
//字符長度的理解
string s = "我是一個2兵";
int len = s.Length;//6個字符
byte[] sarr = System.Text.Encoding.Default.GetBytes(s);
len = sarr.Length;//11個字節
//10進制轉字符串,也沒有意義,要轉成對應的ascii碼
int t1 = 81;
string s1 = t1.ToString();
//這個10進制轉對應ASCII字符才有意義。
s1 = ((char)t1).ToString();
//16進制轉字符串:這個沒有意義。就是tostring了。
int intAB = 0x16;
s1 = intAB.ToString();
//16進制轉對應ASCII字符:
byte babb = 0x45;
string ass = ((char)babb).ToString();
//ASCII字符串轉10進制數
string tr = "2Ab劉";
string d ="";
for (int i = 0; i < tr.Length; i++)
{
int ii = (int)Convert.ToChar(tr.Substring(i, 1));
d = d +" "+ ii.ToString();
}
//ASCII字符串轉16進制數
string s2 = "2Ab劉";
byte[] ba = System.Text.ASCIIEncoding.Default.GetBytes(s2);
StringBuilder sb = new StringBuilder();
foreach (byte b in ba)
{
sb.Append(b.ToString("x") + " ");
}
//16進制數轉10進制
int intA = 0x16;//定義的時候是必須帶0x的
string strA = "16";//字符串可以不帶
int intA1 = Convert.ToInt32(intA);
int intA2 = Convert.ToInt32(strA, 16);
//10進制轉16進制
strA = Convert.ToString(intA2, 16);
//10進制轉2進制,16進制類似
int int10 = 10;
string str2 = Convert.ToString(int10,2);
//2進制轉10進制
int10 = Convert.ToInt32(str2,2);
轉:
http://www.cnblogs.com/luhuan860/archive/2009/07/02/1515510.html