我正在设计用于格式化我拥有的某些文件的程序中调用File.ReadAllText()

其中一些文件包含®(174)符号。但是,在阅读文本时,返回的字符串包含(174)应该位于的®(65533)符号。

是什么原因造成的,我该如何解决?

最佳答案

这可能是由于Encoding不匹配所致。使用ReadAllText重载,该重载允许您指定在读取文件时要使用的正确Encoding

除非它可以检测到UTF-32,否则默认重载将采用UTF-8。其他任何编码都会错误地通过。

10-04 16:36