2012-09-08 13 views
18

Sto tentando di salvare un array di byte (byte []) nelle impostazioni dell'applicazione C# restituite da Object List View.Come salvare il byte [] nelle impostazioni dell'applicazione C#

Qualcuno può darmi una soluzione su come salvare array di byte nelle impostazioni di applicazione C#? o qualche trucco su come convertire byte [] in qualcosa come una stringa, quindi memorizzarlo, quindi recuperarlo e convertirlo nuovamente in array di byte e ridistribuirlo alla vista elenco oggetti.

risposta

22

Uno dei modi più comuni per fare una stringa da un array di byte loro è la codifica in Base-64:

string encoded = System.Convert.ToBase64String(toEncodeAsBytes); 

Usa

byte[] bytes = System.Convert.FromBase64String(encoded); 

per ottenere i vostri byte indietro.

+0

Mi sono completamente dimenticato di base64. Grazie per avermi ricordato... –

4

Il modo canonico per fare ciò è convertire lo byte[] in un string tramite base64 e viceversa.

3

In modo diverso è possibile convertire l'array Byte in stringa e stringa in array di byte. Come questo:

1)

string asciiString = ASCIIEncoding.ASCII.GetString(byteArray); 

byte[] byte = ASCIIEncoding.ASCII.GetBytes(asciiString); 

2)

string base64String = System.Convert.ToBase64String(byteArray); 

byte[] byte = System.Convert.FromBase64String(base64String); 

3)

string utf8String = System.Text.Encoding.UTF8.GetString(byteArray); 

byte[] byte = System.Text.Encoding.UTF8.GetBytes(utf8String); 

è anche possibile utilizzare System.Text.Encoding.BigEndianUnicode, System.Text. Encoding.Unicode e System.Text.Encoding.UTF32 per convertire la matrice di byte in stringa e stringa in matrice di byte.

Spero, dovrebbe aiutarti.

Problemi correlati