如何将UTF-8字符串转换为ISO-8859-1字符串?
答案 0 :(得分:23)
尝试:
System.Text.Encoding iso_8859_1 = System.Text.Encoding.GetEncoding("iso-8859-1");
System.Text.Encoding utf_8 = System.Text.Encoding.UTF8;
// Unicode string.
string s_unicode = "abcéabc";
// Convert to ISO-8859-1 bytes.
byte[] isoBytes = iso_8859_1.GetBytes(s_unicode);
// Convert to UTF-8.
byte[] utf8Bytes = System.Text.Encoding.Convert(iso_8859_1, utf_8, isoBytes);
答案 1 :(得分:5)
.NET Strings在内部都是UTF-16。 .NET中没有UTF-8或ISO-8859-1编码System.String
。要使用System.Text.Encoding
class:
byte[] bytes = Encoding.GetEncoding("iso-8859-1").GetBytes("hello world");