web-dev-qa-db-fra.com

Comment convertir une chaîne en UTF8?

J'ai une chaîne qui contient de l'unicode, comment la convertir en encodage UTF-8?

10
user705414

Cet extrait crée un tableau d'octets avec votre chaîne encodée en UTF-8:

UTF8Encoding utf8 = new UTF8Encoding();
string unicodeString = "Quick brown fox";
byte[] encodedBytes = utf8.GetBytes(unicodeString);
23
dasblinkenlight

Essayez cette fonction, elle devrait être réparée immédiatement, vous devrez peut-être corriger les conventions de dénomination.

private string UnicodeToUTF8(string strFrom)
{
byte[] bytSrc;
byte[] bytDestination;
string strTo = String.Empty;

bytSrc = Encoding.Unicode.GetBytes(strFrom);
bytDestination = Encoding.Convert(Encoding.Unicode, Encoding.ASCII, bytSrc);
strTo = Encoding.ASCII.GetString(bytDestination);

return strTo;
}
3
Arvin

Cela devrait être avec le code minimum:

byte[] bytes = Encoding.Default.GetBytes(myString);
myString = Encoding.UTF8.GetString(bytes);
1
Habeeb

essayez ce code 

 string unicodeString = "Quick brown fox";
 var bytes = new List<byte>(unicodeString);
        foreach (var c in unicodeString)
            bytes.Add((byte)c);
        var retValue = Encoding.UTF8.GetString(bytes.ToArray());
1
Shyam sundar shah