2012-09-08 17 views
18

Bir bayt dizisini (bayt []) C# uygulama ayarlarında Object List View tarafından döndürülen bir dosya kaydetmeye çalışıyorum.C# uygulama ayarlarında bayt [] kaydetme

Herkes C# uygulama ayarlarında bayt dizisini kaydetme konusunda bana bir çözüm verebilir mi? veya byte [] bir dize gibi bir şey dönüştürmek sonra saklamak ve daha sonra yeniden bayt dizisine dönüştürmek ve nesne listesi görünümüne geri vermek için bazı hile.

cevap

22

Bir Base-64 onları kodlayan edilir:

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

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

kullanın

geri bayt alır.

+0

Base64'ü tamamen unutmuşum. Bana hatırlattığın için teşekkürler... –

4

Bunu yapmanın kanonik yolu, byte[]'unumaralı telefona base64 ve diğer yoldan dönüştürmektir. bayt bir diziden bir dize yapmak için en yaygın yollarından

3

Farklı bir şekilde Byte dizisini dize ve dize ile bayt dizisine dönüştürebilirsiniz. Şunun gibi:

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); 

ayrıca System.Text.Encoding.BigEndianUnicode, System.Text kullanabilirsiniz. Encoding.Unicode ve Byte Array dizesini Dize Dizisine ve dizeye dönüştürmek için System.Text.Encoding.UTF32.

Umut, Size yardımcı olmalı.