保存文本文件时的默认编码是什么

本文关键字:默认 编码 是什么 文本 文件 保存 | 更新日期: 2023-09-27 18:14:47

当保存文本文件时,客户端在每个货币符号前获得'Â'字符。

我尝试了以下操作,但仍然得到奇怪的字符

using (StreamWriter sr = new StreamWriter(path, false, System.Text.Encoding.UTF8))
{
    sr.Write(text);
}
using (StreamWriter sr = File.CreateText(path))
{
    sr.Write(text);
}

关于如何保存文件没有任何编码的任何建议?

保存文本文件时的默认编码是什么

关于如何保存文件没有任何编码的任何建议?

那个问题没有意义;"编码"是将字符串字符转换为字节以存储/传输(例如在磁盘上)的过程。任何文本内容都必须具有编码。如果您已将其保存为UTF8,那么读取它的人也必须将其读取为 UTF8。可以尝试包含BOM:

... new StreamWriter(path, false, new UTF8Encoding(true))

或者,找出你的机器默认配置使用的编码/代码页,并使用它(它是Encoding.Default);例如:

... new StreamWriter(path, false, Encoding.Default)

如果您的用户指出他们需要在代码页874(又名"Thai")中使用它,那么您将使用:

... new StreamWriter(path, false, Encoding.GetEncoding(874))

使用流作为输入的StreamWriter根据文档默认为UTF-8。

这个构造函数创建了一个没有字节顺序标记(BOM)的UTF-8编码的StreamWriter,所以它的GetPreamble方法返回一个空字节数组。

这取决于您计算机的本地设置。如果您想确保所有内容都按照您的预期保存,您应该自己指定编码。

见:http://msdn.microsoft.com/en-us/library/system.text.encoding.default.aspx