web-dev-qa-db-ja.com

文字列をUTF8に変換する方法は?

Unicodeを含む文字列を持っていますが、それをUTF-8エンコーディングに変換するにはどうすればよいですか?

11
user705414

このスニペットは、UTF-8でエンコードされた文字列でバイトの配列を作成します。

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

この機能を試してください。これはすぐに修正されるはずですが、命名規則を修正する必要があるかもしれません。

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

これは最小コードである必要があります:

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

このコードを試してください

 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