邮件中文显示为乱码 dodo

解决方法:

string   s   =   "......your   mail   body   here......";  
   
  byte[]   bs   =   Convert.FromBase64String(s);  
  String   s2   =   System.Text.Encoding.GetEncoding("GB2312").GetString(bs);

如果字符串中含有中文,需要先转换为二进制字符串再进行编码否则报““Base-64字符中的无效字符”的错误。
byte[]   outbyte=System.Text.Encoding.GetEncoding("GB2312").GetBytes(s.ToCharArray());  


说明:
 [C#]  
  public   static   byte[]   FromBase64String(  
        string   s  
  );  
   
  s   由基   64   数字、空白字符和尾随填充字符组成。从零开始以升序排列的以   64   为基的数字为大写字符“A”到“Z”、小写字符“a”到“z”、数字“0”到“9”以及符号“+”和“/”。  
   
  空白字符为   Tab、空格、回车和换行。s   中可以出现任意数目的空白字符,因为所有空白字符都将被忽略。  
   
  无值字符“=”用于尾部的空白。s   的末尾可以包含零个、一个或两个填充字符。   
 
原文地址:https://www.cnblogs.com/zgqys1980/p/608772.html