2011-01-28 3 views
2

Je suis en train de lire des métadonnées à partir d'octets spécifiques dans des fichiers mais les résultats obtenus ne sont pas codés. Je voudrais les encoder à Encoding.Default pour la lisibilité. Comment convertir une chaîne Unicode complète ou au moins un caractère unique?C# - comment encoder sur une chaîne ou un caractère?

C# .NET 3.5

Répondre

2
var myString = System.Text.Encoding.Unicode.GetString(myByteArray); 

Est-ce que ça marche?

+0

Probablement pas, utf-16 est peu probable. Pourrait arriver cependant. –

1

Jetez un oeil à l'espace de noms System.Text.Encoding :)

4

Vous n'avez pas encode octets à un codage particulier - vous les decode du codage d'origine. Vous devez utiliser le codage pour l'utiliser - vous ne pouvez pas le choisir arbitrairement.

Ces octets représentent-ils réellement des données de texte? Si oui, quel encodage utilise-t-il déjà? Cela devrait faire partie du format de fichier.

S'ils sont et non texte réellement codé, mais que vous voulez une représentation textuelle fiable des données binaires arbitraires, utilisez Convert.ToBase64String.

0

Ce sera quelque chose comme ceci:

chaîne

s = Encoding.UTF8.GetString (bytesToGetStringFrom, 0, bytesToGetStringFrom.Length);

Il existe des "codages" autres que UTF8.

+0

Remarquant le commentaire de Jon, il décode, c'est pourquoi "encoding" est entre guillemets. –

0

utilisation somthing comme celui-ci

System.Text.Encoding.Default.GetChars(pass your byte array here) 
Questions connexes