输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非空白字符。
运行时报如题所述错误
客户端使用android,服务端用.net
android端将字符串转换为Base64编码
Java code
String logText = Util.getCurrentTime() + " 用户:" + PrefsActivity.GetPoliceCode(MainActivity.this)
+ "登录\r\n\r\n";
// 转换为Base64编码格式
byte[] textByte = logText.getBytes();
String textBase64 = Base64.encodeToString(textByte, Base64.DEFAULT);
textBase64:MjAxMS0xMS0wMiAwMzozMDo1MiAg55So5oi377yaNDAxMTIz6YCA5Ye6DQoNCg==MjAxMS0xMS0wMiAwMzozMDo1OSAg55So5oi377yaNDAxMTIz55m75b2VDQoNCg==
服务端接收后作如下处理
C# code
//Base64转换为string
byte[] buffer = Convert.FromBase64String(fileText);
text = System.Text.ASCIIEncoding.UTF8.GetString(buffer);
fileText=textBase64
运行到byte[] buffer = Convert.FromBase64String(fileText);时就报错:输入的不是有效的 Base-64 字符串,因为它包含非 Base-64 字符、两个以上的填充字符,或者填充字符间包含非空白字符。
请高手帮忙解答!!
------解决方案--------------------
textBase64:MjAxMS0xMS0wMiAwMzozMDo1MiAg55So5oi377yaNDAxMTIz6YCA5Ye6DQoNCg==MjAxMS0xMS0wMiAwMzozMDo1OSAg55So5oi377yaNDAxMTIz55m75b2VDQoNCg==
你这个结果有问题吧,感觉是发了2遍MjAxMS0xMS0wMiAwMzozMDo1MiAg55So5oi377yaNDAxMTIz6YCA5Ye6DQoNCg==
------解决方案--------------------
确定你发了2遍了。MjAxMS0xMS0wMiAwMzozMDo1MiAg55So5oi377yaNDAxMTIz6YCA5Ye6DQoNCg==转化成字符结果是 “2011-11-02 03:30:52 用户:401123退出”
------解决方案--------------------
2011-11-02 03:30:52 用户:401123退出
2011-11-02 03:30:59 用户:401123登录
------解决方案--------------------