如何将字符串转换为“iso-8859-1”?

时间:2009-03-10 10:36:04

标签: c# asp.net

如何将UTF-8字符串转换为ISO-8859-1字符串?

2 个答案:

答案 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");