2009-03-10 15 views

Odpowiedz

23

Spróbuj:

 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); 
+0

Ahh, nigdy nie wiedziałem o metodzie Convert :) – leppie

+0

Dzięki, ale jak mogę to wypisać: Response.Write (isoBytes) nie działa? – Tom

+0

bajt [] srcBytes = utf_8.GetBytes (srcstr); bajt [] tgtBytes = System.Text.Encoding.Convert (utf_8, iso_8859_1, srcBytes); Response.Write (tgtBytes); – Tom

5

. Struny .NET są wewnętrznie UTF-16. W sieci .NET nie ma kodowania UTF-8 lub ISO-8859-1 System.String. Aby uzyskać binarną reprezentację ciąg w szczególności stosowanie kodowania System.Text.Encoding klasy:

byte[] bytes = Encoding.GetEncoding("iso-8859-1").GetBytes("hello world"); 
+0

Prawie;) ciąg znaków UTF8 -> bajty -> Ciąg ISO-88590-1 – leppie

+0

@leppie: Co to jest ciąg znaków UTF8 lub ISO-88590-1? Czy to wszystko z wyjątkiem sekwencji bajtów? –

Powiązane problemy