using(StreamWriter sw = File.CreateText(@"d:DefaultUTF8.txt"))
{
sw.Write("プライベート");
using
(StreamWriter sw=new StreamWriter(@"d:StreamUTF8.txt",
false,System.Text.Encoding.UTF8))
{
sw.Write("プライベート");
(System.IO.FileStream fs = System.IO.File.Create(@"d:ByteUTF8.txt")) を使用し
て
{
byte[] info = System.Text.Encoding.UTF8.GetBytes("プライベート");
fs.Write(info, 0, info.Length);
}
私は、上記の 3 つの方法の結果は同じで、違いはないといつも思っていましたが、今日ではそうではないことがわかりました。笑、もしこの質問が素朴だと思うなら、下に見る必要はありません
。結果 1 と 3 は同じで、どちらも E7 A7 81 です。
そして 2 には追加のゼロ幅 NO-BREAK スペース (EF BB BF) があります。
ファイルのエンコード方式を示すためにバイトオーダーマークを使用する必要がある場合は、方法 2 を使用してください。
上記は、ビッグエンディアンとリトルエンディアンを示す UNICODE にも当てはまります。
http://www.cnblogs.com/jjstar/archive/2006/12/18/595812.html