首先,你要明白一些概念: 
   byte和string都是C#的基元类型,编译器可以直接支持。 
   byte是值类型,而string是引用类型,它们之间的转换 
要注意数据溢出。例如,把byte->string是安全的,但是, 
string->byte就是不安全的。why? 因为byte只是8位值,而 
string可以大过8位值。 byte[]->string 
  你可以通过循环,把byte[]数组里的值逐个拿出来,累加 
到string变量里。 

解决方案 »

  1.   

    public static byte[] ByteArrayToStr(byte[] barr) 

    ASCIIEncoding encoding=new ASCIIEncoding(); 
    return encoding.GetString(barr); 

      

  2.   

    上面说的很搞笑.我要String转成byte[] 看明白了?不是byte[]到String.
      

  3.   

    public static string ByteArrayToStr(byte[] ByteArray)
    {
    string ret="";int IndexOf0=0;
    if (ByteArray!=null && ByteArray.Length>0)
    {
    ret=System.Text.Encoding.Default.GetString(ByteArray);
    IndexOf0=ret.IndexOf('\0');
    if (IndexOf0>=0 && ret.Length>0)
    ret=ret.Substring(0,IndexOf0).Trim();
    }
    return ret;
    }
      

  4.   

    public static byte[] StringToByteArray(string str)
    {
    if (str!=null)
    return System.Text.Encoding.Default.GetBytes(str);
    else
    return null;
    }
      

  5.   

    自己不会还笑别人。
    别人也是提供一种思路啊,你可以反过来用。string str = "aaaaaaaaaaaaaaaaaa";
    //转换成byte[]
    byte[] b = System.Text.Encoding.UTF8.GetBytes(str); //转换回来
    string str1 = System.Text.Encoding.UTF8.GetString(b);