Esiste un modo semplice per convertire un array di byte in una stringa in modo che il seguente test dell'unità passi? Non riesco a trovare una codifica che funzioni per tutti i valori.Conversione di array di byte in stringhe in C#
[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);
}
}
'Array.ConvertAll' dovrebbero lavorare per la creazione di un' char [] ', che puoi passare ad un costruttore di stringhe. –
Evitando il "perché lo faresti?" domanda, l'unica codifica in cui questa operazione sarebbe valida sarebbe ASCII, penso. – JerKimball
Ascii fallisce Previsto: <128>, Effettivo: <63> – user2227596