為了生成UTF8無BOM編碼的文本文件,字節流必須使用UTF8編碼的自定義實例,而不是默認的System.Text.Encoding.UTF8:
1.調用帶有False的UTF8Encoding構造函數,因為編碼器應該發出UTF8標識符參數。
2.將UTF8Encoding實例傳遞給stream構造函數。
using (var sink = new StreamWriter("Foobar.txt", false, new System.Text.UTF8Encoding(false))) { sink.WriteLine("..."); }
File.WriteAllText(filepath, context, new System.Text.UTF8Encoding(false));
請注意,只有UTF-8允許省略BOM,而不是UTF-16。
信息網址:http://www.respectj.cn/ziyuan/view19847.htm