2010-10-29 24 views
14

sto cercando di convertire un array di byte in una stringa in Silverlight, ma ottengo il seguente errore di compilazione:Convertire una matrice di byte in stringa in Silverlight?

'System.Text.Encoding.GetString (byte [])' è inaccessibile a causa del livello di protezione

questo è il metodo che sto usando:

string text = UTF8Encoding.UTF8.GetString(myByteArray); 

altrimenti come posso raggiungere questo obiettivo?

+0

'UTF8Encoding.UTF8 'non è quello che useresti di solito - dovresti usare Encoding.UTF8 per ottenere la codifica UTF8' normale '(che ha BOM on) o fare' new UTFEncoding (..) 'per ctor tuo. –

risposta

37

Si può scrivere:

string text = UTF8Encoding.UTF8.GetString(yourByteArray, 0, yourByteArray.Length); 

Silverlight 3 e 4 only support che override.

2
string text = Encoding.UTF8.GetString(myByteArray,0,myByteArray.Length); 

Funziona in SL4, non so nulla prima.

2

È possibile utilizzare la codifica Inicode anche,

String text=(new UnicodeEncoding()).GetString(barray, 0, barry.Length) 

In questo modo si è in grado di ottenere come stringa di byte [],

viceversa

Byte[] myarray=(new UnicodeEncoding()).getBytes(Stringexpressin); 
Problemi correlati