2009-03-10 9 views

答えて

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

ああ、Convertメソッドについて知ったことはありません:) – leppie

+0

ありがとう、しかし、私はこれを出力できます: Response.Write(isoBytes)は動作しませんか? – Tom

+0

バイト[] srcBytes = utf_8.GetBytes(srcstr); バイト[] tgtBytes = System.Text.Encoding.Convert(utf_8、iso_8859_1、srcBytes); Response.Write(tgtBytes); – Tom

5

.NET文字列はすべて内部的にUTF-16です。 .NETにUTF-8またはISO-8859-1を符号化したSystem.Stringはありません。特定の符号化に使用System.Text.Encodingクラス内の文字列のバイナリ表現を取得するには、次の

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

ほとんど;)UTF8文字列 - >バイト - > ISO-88590-1文字列 – leppie

+0

@leppie:UTF8またはISO-88590-1文字列とは何ですか?バイトシーケンス以外は何ですか? –

関連する問題