How can i convert an UTF-8 string into an ISO-8859-1 string?
+2
A:
.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");
Mehrdad Afshari
2009-03-10 10:38:23
Almost ;) UTF8 string -> bytes -> ISO-88590-1 string
leppie
2009-03-10 10:41:07
@leppie: What's a UTF8 or ISO-88590-1 string? Are those anything except a sequence of bytes?
Mehrdad Afshari
2009-03-10 10:42:19
+2
A:
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);
John Feminella
2009-03-10 10:39:49
byte[] srcBytes = utf_8.GetBytes(srcstr); byte[] tgtBytes = System.Text.Encoding.Convert(utf_8, iso_8859_1, srcBytes); Response.Write(tgtBytes);
Tom
2009-03-10 10:57:04