【发布时间】:2012-02-01 05:26:19
【问题描述】:
我有一个包含一些 unicode 的字符串,如何将其转换为 UTF-8 编码?
【问题讨论】:
-
我认为这对你有帮助。 stackoverflow.com/questions/497782/…
标签: c# .net character-encoding
我有一个包含一些 unicode 的字符串,如何将其转换为 UTF-8 编码?
【问题讨论】:
标签: c# .net character-encoding
这个 sn-p 用 UTF-8 编码的字符串创建一个字节数组:
UTF8Encoding utf8 = new UTF8Encoding();
string unicodeString = "Quick brown fox";
byte[] encodedBytes = utf8.GetBytes(unicodeString);
【讨论】:
Encoding.UTF8.GetBytes 而不是new添加另一个编码器?
试试这个功能,它应该可以立即修复它。不过,您可能需要修正命名约定。
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;
}
【讨论】:
这应该是最少的代码:
byte[] bytes = Encoding.Default.GetBytes(myString);
myString = Encoding.UTF8.GetString(bytes);
【讨论】:
试试这段代码
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());
【讨论】: