将10进制的字符串转为16进制的byte

来源:互联网 发布:windows 7 下载 iso 编辑:程序博客网 时间:2024/06/09 19:04

直接将string类型的字符转为16进制的byte出现错误:超出表示范围:

            //一个十进制的字符串            string str = "10";            //将十进制的字符串表示10进制的数值            int a = Convert.ToInt16(str, 10);            //为16进制的字符            string str2 = a.ToString("x2");            //将16进制的字符表示成0xXX byte            byte aa = Convert.ToByte(("0x" + str2), 16);            //放入到byte[]数组中            byte[] byte={aa};



采用的方式:先将string转为10进制的字符,将10进制的数字转为byte,存放在byte[ ]

           int byteUp = Convert.ToInt32(textBox_Up.Text);            int byteDown = Convert.ToInt32(textBox_Down.Text);            int byteLeft = Convert.ToInt32(textBox_Left.Text);            int byteRight = Convert.ToInt32(textBox_Right.Text);            int byteCenter = Convert.ToInt32(textBox_Center.Text);                        int[] data = { byteUp, byteDown, byteLeft, byteRight, byteCenter };            byte b1 = Convert.ToByte(byteUp);            byte[] data1 = { Convert.ToByte(byteUp), Convert.ToByte(byteDown), Convert.ToByte(byteLeft),                               Convert.ToByte(byteRight), Convert.ToByte(byteCenter) };            //byte byteUp = Convert.ToByte(textBox_Up.Text, 16);            //byte byteDown = Convert.ToByte(textBox_Down.Text, 16);            //byte byteLeft = Convert.ToByte(textBox_Left.Text, 16);            //byte byteRight = Convert.ToByte(textBox_Right.Text, 16);            //byte byteCenter = Convert.ToByte(textBox_Center.Text, 16);            //byte[] data={byteUp,byteDown,byteLeft,byteRight,byteCenter};//这种方式显示超出范围            string str1 = "";            for (int i = 0; i < data1.Length; i++)            {                str1 += data[i].ToString("X2") + " ";            }            textBox1.Text = str1;           }