Reputation: 6707
How can i convert an UTF-8 string into an ISO-8859-1 string?
Upvotes: 13
Views: 42617
Reputation: 311496
Try:
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);
Upvotes: 23
Reputation: 421978
.NET Strings are all UTF-16 internally. There is no UTF-8 or ISO-8859-1 encoded System.String
in .NET. To get the binary representation of the string in a particular encoding use System.Text.Encoding
class:
byte[] bytes = Encoding.GetEncoding("iso-8859-1").GetBytes("hello world");
Upvotes: 5