【Mrak】C# 文本文件 ANSI编码格式 转 UTF8

时间:2023-01-10 15:41:21

C#  文本文件 ANSI编码格式 转 UTF8

如果用 Encoding.Convert()把ANSI格式的字节数组转成 UTF8格式的字节数组,然后用FileStream 去wirte字节数组,其结果为丢BOM,即保存为 UTF8 without BOM。

解决方法,用 StreamWriter,直接wirte string 即可。

                        using (StreamWriter fs = new StreamWriter(tmpPath + "info.txt", false, Encoding.UTF8))
                        {
                            fs.Write(string.Format("{0}\r\n{1}", txt, string.Join("\r\n", info)));
                            fs.Flush();
                            fs.Close();
                        }