C# 编码UTF-7时出现StreamWriter问题

C# 编码UTF-7时出现StreamWriter问题,c#,C#,我有一个UTF-7格式的文本文件,我想创建另一个具有相同数据的文件,如下所示: using (var sw = new StreamWriter(@"D:\toto.csv.copy", false, Encoding.UTF7)) { using (var sr = new StreamReader(@"D:\toto.csv", Encoding.UTF7)) { string line; whi

我有一个UTF-7格式的文本文件,我想创建另一个具有相同数据的文件,如下所示:

    using (var sw = new StreamWriter(@"D:\toto.csv.copy", false, Encoding.UTF7))
    {
        using (var sr = new StreamReader(@"D:\toto.csv", Encoding.UTF7))
        {
            string line;
            while (null != (line = sr.ReadLine()))
            {
                sw.WriteLine(line);
            }
        }
    }
在原始文件中,第一行是:·TEST· 在复制文件中,第一行是:+AKQ-TEST+AKQ-

原始文件是UTF-7格式的,当我在调试模式下查看line变量时,我可以在line变量中看到“·TEST·”

你能帮我吗


非常感谢

尝试在writer上使用自定义编码,以允许在输出中使用可选字符

UTF7Encoding allowOptionals = new UTF7Encoding(true);

using (var sw = new StreamWriter(@"D:\toto.csv.copy", false, allowOptionals))
{
    using (var sr = new StreamReader(@"D:\toto.csv", Encoding.UTF7))
    {
        string line;
        while (null != (line = sr.ReadLine()))
        {
            sw.WriteLine(line);
        }
    }
} 

尝试在编写器上使用自定义编码,以允许在输出中使用可选字符

UTF7Encoding allowOptionals = new UTF7Encoding(true);

using (var sw = new StreamWriter(@"D:\toto.csv.copy", false, allowOptionals))
{
    using (var sr = new StreamReader(@"D:\toto.csv", Encoding.UTF7))
    {
        string line;
        while (null != (line = sr.ReadLine()))
        {
            sw.WriteLine(line);
        }
    }
} 

旁白:如果您不想对副本使用不同的编码,为什么不直接使用
文件.copy
?旁白:如果您不想对副本使用不同的编码,为什么不直接使用
文件.copy