2010-10-29 4 views
14

Je suis en train de convertir un tableau d'octets à une chaîne dans Silverlight, mais je reçois l'erreur de compilation suivante:Convertir un tableau d'octets en chaîne dans Silverlight?

« System.Text.Encoding.GetString (octet []) » est inaccessible en raison de son niveau de protection

C'est la méthode que j'utilise:

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

Comment puis-je y parvenir?

+0

« UTF8Encoding.UTF8 'n'est pas ce que vous utiliseriez habituellement - vous utiliseriez soit Encoding.UTF8 pour obtenir le codage UTF8' normal '(qui a BOM sur) ou faire' new UTFEncoding (..) 'pour ctor votre propre. –

Répondre

37

Vous pouvez écrire:

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

Silverlight 3 et 4 only support que override.

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

Fonctionne dans SL4, ne connaît rien de plus tôt.

2

Vous pouvez utiliser Inicode encodage aussi,

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

De cette façon, vous êtes en mesure d'obtenir sous forme de chaîne d'octets [],

vice versa par

Byte[] myarray=(new UnicodeEncoding()).getBytes(Stringexpressin); 
Questions connexes