在C#中将字节数组转换为字符串

use*_*596 6 c# string byte

是否有一种简单的方法将字节数组转换为字符串,以便下面的单元测试通过?我找不到适用于所有值的编码.

  [TestMethod]
  public void TestBytToString()
  {
     byte[] bytArray = new byte[256];
     for (int i = 0; i < bytArray.Length; i++)
     {
        bytArray[i] = (byte)i;
     }
     string x = System.Text.Encoding.Default.GetString(bytArray);
     for (int i = 0; i < x.Length; i++)
     {
        int y = (int)x[i];
        Assert.AreEqual(i, y);
     }
  }
Run Code Online (Sandbox Code Playgroud)

use*_*596 0

这有效:

  [TestMethod]
  public void TestBytToString()
  {
     byte[] bytArray = new byte[256];
     ushort[] usArray = new ushort[256];
     for (int i = 0; i < bytArray.Length; i++)
     {
        bytArray[i] = (byte)i;

     }

     string x = System.Text.Encoding.Default.GetString(bytArray);
     for (int i = 0; i < x.Length; i++)
     {
        int y = System.Text.Encoding.Default.GetBytes(x.Substring(i, 1))[0];
        Assert.AreEqual(i, y);
     }
  }
Run Code Online (Sandbox Code Playgroud)