C# で、utf8 のテキストファイルを出力しようと、何も考えずに以下のようなコードを書くと
SAMPLE1
var utf8_encoding = Encoding.GetEncoding("utf-8");
using (var writer = new StreamWriter("UTF8.TXT", false, utf8_encoding))
{
writer.WriteLine("あいうえお");
}
ファイル先頭に BOM (Byte Order Mark) が付与されたがっかりすることになる。
BOMなしの utf8 なテキストファイルを出力するには、
SAMPLE2
var utf8_encoding = new System.Text.UTF8Encoding(false);
using (var writer = new StreamWriter("UTF8.TXT", false, utf8_encoding))
{
writer.WriteLine("あいうえお");
}
とすれば良い。