private String deCode(String strSrc)                                       
{                                                                          
int start=strSrc.IndexOf("=?GB2312?");                             
if (start==-1)                                                     
{                                                                  
start=strSrc.IndexOf("=?gb2312?");                         
}                                                                  
if(start>=0)                                                       
{                                                                  
String strHead=strSrc.Substring(0,start);                  
String strMethod=strSrc.Substring(start+9,1);              
strSrc=strSrc.Substring(start+11);                         
int end=strSrc.IndexOf("?=");                              
if (end==-1)                                               
{                                                          
end=strSrc.Length;                                 
}                                                          
String strFoot=strSrc.Substring(end+2,strSrc.Length-end-2);
strSrc=strSrc.Substring(0,end);                            
if(strMethod=="B")                                         
strSrc=strHead+deCodeB64(strSrc)+strFoot;          
else                                                       
{                                                          
if(strMethod=="Q")                                 
strSrc=strHead+deCodeQP(strSrc)+strFoot;   
else                                               
strSrc=strHead+strSrc+strFoot;             
}                                                          
start=strSrc.IndexOf("=?GB2312?");                         
if(start==-1)                                              
{                                                          
start=strSrc.IndexOf("=?gb2312?");                 
}                                                          
if(start>=0)                                               
strSrc=deCode(strSrc);                             
}                                                                  
return strSrc;                                                     
}                                                                          
                                                                           
/*Base64 解码*/                                                            
private String deCodeB64(String strSrc)                                    
{                                                                          
try                                                                
{                                                                  
if(strSrc!="")                                             
{                                                          
byte[] by=Convert.FromBase64String(strSrc);        
strSrc=Encoding.Default.GetString(by);             
}                                                          
}                                                                  
catch(Exception ex)                                                
{return ex.ToString();}                                            
return strSrc;                                                     
}