C# 如何替换以下字符

C# 如何替换以下字符,c#,unicode,encoding,C#,Unicode,Encoding,我有eml文件,我使用c#中的streamreader解析它们。问题是这些eml文件分别包含=C5=9F和=C4=B1 我正在使用下面的代码,但我假设在解析生成的文件之前,它不是设置eml文件的生产者正在编码的编码的正确位置,因此我假设需要用适当的Unicode字符替换它们。fsEML是我用file.read()创建的filestream类的实例 这种编码称为。Net中有一些解码功能,但它没有很好地公开,请参见。听起来您应该解码文件的内容,以恢复纯UTF-8文本。您现在看到的内容与交互没有多大意

我有eml文件,我使用c#中的streamreader解析它们。问题是这些eml文件分别包含=C5=9F=C4=B1

我正在使用下面的代码,但我假设在解析生成的文件之前,它不是设置eml文件的生产者正在编码的编码的正确位置,因此我假设需要用适当的Unicode字符替换它们。fsEML是我用file.read()创建的filestream类的实例


这种编码称为。Net中有一些解码功能,但它没有很好地公开,请参见。

听起来您应该解码文件的内容,以恢复纯UTF-8文本。您现在看到的内容与交互没有多大意义。看起来您的eml文件使用某种MIME编码,您应该尝试对其进行解码。eml文件的编码是UTF8,我刚刚使用了Server.HtmlDecode,它返回相同的字符串,即=C5=9F。编码不是UTF-8或HTML编码。再看一遍。:)你似乎已经明白了,=C5=9F在某种程度上代表ş,所以听起来你就快到了。谢谢,那么我应该用什么方法来替换它们,我不知道其中会有多少=我只知道C5=9F和C4=B1。
StreamReader sr = new StreamReader(fsEML, System.Text.Encoding.UTF8,false);