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

Converting byte array to string in C#

本问题已经有最佳答案,请猛点这里访问。

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  [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);
     }
  }


1
var str = System.Text.Encoding.Default.GetString(bytArray);


1
string x = Encoding.UTF8.GetString(bytArray, 0, bytArray.Length);


System.Text.Encoding.UTF8应该在你的帽子。


本工作:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  [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);
     }
  }

我知道这一切的价值远高于127字节是一个负的字符数和阳性结果的值,它只能以一未知的字符编码在每一个与你。

你可能会想的到无符号短整数字节数组转换成字符串,然后到(UShort)…………………