C# 中2,10,16進制及其ASCII碼之間轉化


C# 中2,10,16進制及其ASCII碼之間轉化

    --------//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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM