例如有个字符串str=“qw455”,我之前定义了一个byte数组 Dim mybytes(20) As Byte,请问我怎么将str的每个字符一一赋值给mybytes,试了很多方法都不行,请大家帮忙了,谢谢了

解决方案 »

  1.   

    str="qw455";
    byte[] buf=Encoding.ASCII.GetBytes(str);
    Array.Copy(buf,mybytes,buf.Length);
      

  2.   

    谢谢楼上的回复,我想在转换后调用mybytes(i)的值分别是q,w,4,5,5 。而不想得到其ASCII值,曾想过用char进行转换,可是我得到的mybytes要用做传送的,必须是byte数组格式的,该怎么解决呢,请大家指点,谢谢了。我还用了以下方式:
     Dim chs() As Char
            chs = str.ToCharArray
            For i = 0 To chs.Length - 1
                mybytes(i) = Byte.Parse(chs(i).ToString)
            Next
    这种方式对数字0——8传送的是正确的,可是对9传送的是字母“T”,而且这种写法不支持str里面包含字母的情况。
      

  3.   

    象“q”、“w”之类的字母存储的时候本来就是以某种编码的方式存储的,ASCII或Unicode,或其他编码。
      

  4.   

    我知道任何字符都是以编码方式存在的,如果我调用mybytes(i)的值得到的是每位的ASCII值,这种情况就传送不出去啊,所以必须实现调用mybytes(i)的值得到的就是本身的值啊,郁闷死了
      

  5.   

    谢谢楼上各位的回复啊,我用char类型发送不出去,必须用byte类型才能发出去啊,该怎么办呢
      

  6.   

    为什么ASCII码就会传不出去?
      

  7.   

    比如我要传的是“1”,1可以传出去,可是当转换成ASCII码时,1ASCII码49就传送不出去了啊
      

  8.   

    tcp协议,用winsock做得啊,楼上QQ能留下不,想向你请教啊,我的QQ是191668538,谢谢了
      

  9.   

    TCP协议?这个发送ASCII码没有任何问题的,只要接收方能正确解码。
    很抱歉,我基本上不使用QQ。
      

  10.   

    tcp协议,采用二进制流传送
    也就是byte[] byte != ASCII接收方 解码即可
      

  11.   


    a = str.tostring();
    foreach(char b in str.length-1)
    {
            
    }