C# C Streamreader:处理特殊字符\“\”等
我正在读然后写一个文本文件。在感兴趣的数据之前和之后,该文件包含许多应该保持不变的行。但是streamreader似乎将特殊字符“-”转换为在C文本框和记事本中显示为时髦菱形的其他字符。文本如何通过文件读/写运算符传递离子完全不变?谢谢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(
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,默认值。我的测试文件似乎也有一个伪造的编码方案。谢谢大家的快速回复。