一个byte是8位,最大是256,也就是0xFF。我现在通过TextBox输入一个数值,比如10,然后将其转换成byte:    byte[] byteArray= System.Text.Encoding.ASCII.GetBytes(textBox.Text);这样的结果是byteArray[0]=49,byteArray[1]=48。这就变成了两个字节。按道理来说,10应该是一个字节,请教一下,如何转换成是一个字节?谢谢!

解决方案 »

  1.   

    。晕
    int a = 10;

    string a = "10";
    是完全两个不同的概念啊...
      

  2.   

    byte byteArray = Convert.ToByte(textBox.Text); 
    字节最大是0xFFh(255d). 不是256.
      

  3.   

    呵,是啊,可能你们没明白我的意思。
    int.Parse("10)可以将字符串转换成int型。
    我现在也想将"10"转换成byte型,而不是byte[].
    如何实现?
      

  4.   

    byte[] byteArray= System.Text.Encoding.ASCII.GetBytes(textBox.Text); 
    相当于将string的每一位按照ASCII字符进行转换。byte[] byteArray= System.Text.Encoding.Unicode.GetBytes(textBox.Text); 
    是将string的每一位按照UTF-16进行转换。楼上的方法可以实现将string转成byte:
        byte by = Convert.ToByte(textBox.Text); 
      

  5.   

    Convert.ToByte(textBox.Text); 和 byte.Parse(textBox.Text); 结果是相同的.
      

  6.   

    static void Main(string[] args)
            {
                Console.WriteLine(Convert.ToByte("10"));
            }
           // 10
      

  7.   

    Convert.ToByte(str); 和 byte.Parse(str); 
    区别就是如果str=null;
    前者正常,结果为0,后者ArgumentNullException异常
      

  8.   

    byte temp = convert。tobyte(text);
    byteArray【0】 = temp