先用Encoding.ASCII.GetBytes(ss)
然后自己编个函数判断各种情况在构建一个数组就可以啦

解决方案 »

  1.   

    你新建一个数组
    byte[] bs = new byte[5];
    然后copy一下就可以了
      

  2.   

    如果小于5,新建一个数组,然后COPY,如果大于5,取前5位到新的数组,再COPY,不知道可否行通
      

  3.   

    byte[] GetArray( byte[] buffer )
    {
       byte[] arr = new byte[ 5 ];   for( int i = 0 ; i < 5 ; i++ )
    {
       if ( buffer.Length < i + 1 )
    {
         arr[ i ] = 0;
    }else
       {
         arr[ i ] = buffer[ i ];
    }
    }return arr;
    }
    -----------------Array类有Copy静态方法,不过不太好用啊。
    C#数组不可删减,VB中的Redim声明倒可以
      

  4.   

    不需要copy,只需要限定你的string
    byte[] bTemp = Encoding.ASCII.GetBytes("ss".PadRight(5,Convert.ToChar(0)));
      

  5.   

    忘了substring,残念
    byte[] bTemp = Encoding.ASCII.GetBytes("ss".PadRight(5,Convert.ToChar(0)).Substring(0,5));-________________-b
      

  6.   

    string ss1=ss.PadRight(5,'0');
    string ss2=ss1.SubString(0,5);
    byte[] arr= Encoding.ASCII.GetBytes(ss2);String.Substring 方法 (Int32, Int32)
    从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。String.PadRight 方法 (Int32, Char)
    左对齐此字符串中的字符,在右边用指定的 Unicode 字符填充以达到指定的总长度。