Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C Streamreader:处理特殊字符\“\”等_C#_Streamreader_Streamwriter - Fatal编程技术网

C# C Streamreader:处理特殊字符\“\”等

C# C Streamreader:处理特殊字符\“\”等,c#,streamreader,streamwriter,C#,Streamreader,Streamwriter,我正在读然后写一个文本文件。在感兴趣的数据之前和之后,该文件包含许多应该保持不变的行。但是streamreader似乎将特殊字符“-”转换为在C文本框和记事本中显示为时髦菱形的其他字符。文本如何通过文件读/写运算符传递离子完全不变?谢谢 StreamWriter sw = new StreamWriter(sOutputFileName); using (StreamReader sr = new StreamReader(sTempFileName)) { while (sr.Peek(

我正在读然后写一个文本文件。在感兴趣的数据之前和之后,该文件包含许多应该保持不变的行。但是streamreader似乎将特殊字符“-”转换为在C文本框和记事本中显示为时髦菱形的其他字符。文本如何通过文件读/写运算符传递离子完全不变?谢谢

StreamWriter sw = new StreamWriter(sOutputFileName);
using (StreamReader sr = new StreamReader(sTempFileName))
{
   while (sr.Peek() >= 0)
   {
       rdBuffer = sr.ReadLine();
       txtProgressDisplay.Text += rdBuffer + "\r\n";

       // parse and process some lines here

       wrBuffer = rdBuffer;
       sw.WriteLine(wrBuffer);
       txtProgressDisplay.Text += wrBuffer + "\r\n";
   }
   sr.Close();
}
sw.Close();

您的问题似乎与编码有关

1检查文本查看器是否使用与.NET应用程序相同的编码(可能是UTF-8?)


2检查文件本身是否使用与.NET应用程序相同的编码创建。是否在不同的编码中混合字符?

您的问题似乎与编码有关

1检查文本查看器是否使用与.NET应用程序相同的编码(可能是UTF-8?)


2检查文件本身是否是使用与.NET应用程序相同的编码创建的。您是否在不同的编码中混合字符?

我几乎可以肯定问题与字符编码有关,即UTF8、ASCII、UTF7等。请尝试创建您的StreamReader,传入正确的编码

StreamReader sr = new StreamReader(sTempFileName, System.Text.Encoding.ASCII);

您可以使用Encoding.ASCII、Encoding.UTF7等

我几乎可以肯定问题与字符编码有关,即UTF8、ASCII、UTF7等。请尝试创建您的StreamReader,输入正确的编码

StreamReader sr = new StreamReader(sTempFileName, System.Text.Encoding.ASCII);

您可以使用Encoding.ASCII、Encoding.UTF7等

StreamReader的可能副本不做这类事情-您确定使用了正确的编码吗?它们不完全是特殊字符,除非文件是由文字处理器创建的。使用十六进制查看器查看文件,记录您看到的这些字符的十六进制代码。UTF-8问题y你需要这样做..跟随链接:StreamReader的可能副本没有这样的事情-你确定你使用了正确的编码吗?它们不是完全特殊的字符,除非文件是由文字处理器创建的。使用十六进制查看器查看文件,记录你看到的这些字符的十六进制代码。你需要的UTF-8问题下面的链接:是的,你有一个正确的答案。谢谢。ASCII编码解决了这个问题。当然,我尝试了其他的;Unicode,UTF8,默认值。我的测试文件似乎也有一个伪造的编码方案。谢谢大家的快速响应。是的,你有一个正确的答案。谢谢。ASCII编码解决了这个问题。当然,我的同事当然,我尝试了其他的;Unicode,UTF8,默认值。我的测试文件似乎也有一个伪造的编码方案。谢谢大家的快速回答。是的,你有一个正确的答案。谢谢。ASCII编码解决了这个问题。当然,我尝试了其他的;Unicode,UTF8,默认值。我的测试文件似乎也有一个伪造的编码方案。比k谢谢大家的快速回复。是的,你有一个正确的答案。谢谢。ASCII编码解决了这个问题。当然我尝试了其他的;Unicode,UTF8,默认值。我的测试文件似乎也有一个伪造的编码方案。谢谢大家的快速回复。