/*--- 初始值 ---*/
 string str = "UYE6nBdgkaV1uxZPzyIG5BYZmVvDl29tIvmp4XxWBsVxsw++yNwi86pYO/Wa8Kb7yMa8SueJA1Md8rDOlLGiSi/qSuJZ/lz/zM6lqpDvZgCjXSwFfcgoZJgZAFFxGOHjqBzOlp5k/WnG+9JJO20ROoF2a5lLhKXa509H6Mk4YUY="; /*--- 解码 ---*/
 string str2=System.Text.Encoding.Default.GetString(Convert.FromBase64String(str));
 /*--- str经过Base64解码后是乱码,后来用gb2312和utf-8编码方式来解码还是乱码 ---*/
 str2 = System.Text.Encoding.GetEncoding("gb2312").GetString(Convert.FromBase64String(str));
 str2 = System.Text.Encoding.GetEncoding("utf-8").GetString(Convert.FromBase64String(str)); /*--- str经过Base64解码后还是乱码 ---*/有没有什么解决办法呢?

解决方案 »

  1.   

    str2=Encoding.Unicode.GetString(xx);//试试
      

  2.   

    你的这段BASE64编码是怎么来的?
      

  3.   

    参数名称:signMsg
    参数说明:
    银行使用自己证书对商户通知消息notifyData字段的xml格式明文串进行的签名,然后进行BASE64编码后的字符串。
    注意:签名是对notifyData的xml明文进行签名,不是其BASE64编码后的串;签名后得到二进制数据,对此数据进行BASE64编码得到signMsg表单数据:
    <INPUT TYPE="hidden" NAME="signMsg" VALUE="UYE6nBdgkaV1uxZPzyIG5BYZmVvDl29tIvmp4XxWBsVxsw++yNwi86pYO/Wa8Kb7yMa8SueJA1Md8rDOlLGiSi/qSuJZ/lz/zM6lqpDvZgCjXSwFfcgoZJgZAFFxGOHjqBzOlp5k/WnG+9JJO20ROoF2a5lLhKXa509H6Mk4YUY=">
      

  4.   

    有问题吧,是不是应该从“/”分开,BASE64编码貌似没有这个符号