【问题标题】:Handling Special Characters (¦)处理特殊字符 (¦)
【发布时间】:2015-09-29 20:48:53
【问题描述】:

当存在特殊字符时,我对如何在 C# 中读取和写入文本文件有点迷茫。我正在编写一个简单的脚本,对包含“¦”字符作为分隔符的 .txt 数据文件进行一些清理。

 foreach (string file in Directory.EnumerateFiles(@"path\raw txt","*.txt"))
            {
                string contents = File.ReadAllText(file);              
                contents = contents.Replace("¦", ",");
                File.WriteAllText(file.Replace("raw txt", "txt"), contents);
            }

但是,当我在 Notepad++ 中打开 txt 文件时,分隔符现在是 �。到底发生了什么?这个字符(¦)编码甚至是什么/我将如何确定?我尝试添加如下内容:

string contents = File.ReadAllText(file, Encoding.UTF8);
File.WriteAllText(file.Replace("raw txt", "txt"), contents, Encoding.UTF8);

【问题讨论】:

标签: c#


【解决方案1】:

现在,通过在读取/写入时将编码切换为“默认”,一切正常。

string contents = File.ReadAllText(file, Encoding.Default);
File.WriteAllText(file.Replace("raw txt", "txt"), contents, Encoding.Default);

【讨论】:

    【解决方案2】:

    尝试将记事本的编码更改为 UTF-8

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-13
      • 2011-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 2019-10-13
      相关资源
      最近更新 更多