gpt4 book ai didi

c# - File.AppendAllText 默认编码

转载 作者:太空狗 更新时间:2023-10-29 20:01:25 25 4
gpt4 key购买 nike

现有代码正在调用 File.AppendAllText(filename, text) 重载以将文本保存到文件。

我需要能够在不破坏向后兼容性的情况下指定编码。如果我要使用 File.AppendAllText(filename, text, encoding) 重载,我需要指定哪种编码以确保以完全相同的方式创建文件?

最佳答案

AppendAllText() 的两个参数重载最终使用不带 BOM 的 UTF-8 编码调用内部方法 File.InternalAppendAllText():

[SecuritySafeCritical]
public static void AppendAllText(string path, string contents)
{
if (path == null) {
throw new ArgumentNullException("path");
}
if (path.Length == 0) {
throw new ArgumentException(
Environment.GetResourceString("Argument_EmptyPath"));
}
File.InternalAppendAllText(path, contents, StreamWriter.UTF8NoBOM);
}

因此,你可以这样写:

using System.IO;
using System.Text;

File.AppendAllText(filename, text, new UTF8Encoding(false, true));

关于c# - File.AppendAllText 默认编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17144686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com