我正在使用下面的代码读取一个文件,该文件在ANSI编码中
string strReadTheWholeFile =
File.ReadAllText(txtFilePath.Text.ToString(),Encoding.GetEncoding(1250));
一旦读取并获取到字符串,我将使用下面的代码替换文件中的字符串
strReadTheWholeFile = strReadTheWholeFile.Replace(
"PortableSpecFileVersion=5.0;", ":ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ:");
一旦被替换,我将使用下面的代码保存该文件
File.WriteAllText(@"C:\MK\Converted\" + Path.GetFileName(txtFilePath.Text.ToString()),
strReadTheWholeFile, Encoding.GetEncoding(1250));
保存后,我打开文件查看是否已提交更改,但我发现字符串已被替换,但已被替换错误。
原始字符串:
PortableSpecFileVersion=5.0;ConversionName=GSKPrePayValidation;
替换字符串:
:yyyyyyyyyyyyyyyyyyyyyyyyyyyy:ConversionName=GSKPrePayValidation;
正如你所看到的,我想用"y“来代替它,但它却被”y“所取代,是否有人能暗示我做错了什么?
发布于 2014-07-22 05:26:09
在您正在读和写的代码页中不存在,所以它被替换了。不过,它似乎确实存在于一二五二中。
发布于 2014-07-22 05:28:59
根据MSDN上的参考页,该集合中不存在ÿ
字符。
您可以使用您知道可以处理的编码,比如UTF8:(测试,工作)
File.WriteAllText(@"C:\MK\Converted\" + Path.GetFileName(txtFilePath.Text.ToString()),
strReadTheWholeFile, Encoding.UTF8);
https://stackoverflow.com/questions/24879436
复制相似问题