C# 中2,10,16进制及其ASCII码之间转化

来源:互联网 发布:计算机专业不会编程 编辑:程序博客网 时间:2024/05/16 14:22
 

   

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

 

 

原创粉丝点击