我有一个使用C#网络服务的Android应用程序。 现在我需要从应用程序向Web服务发送一些数据。 我想用Base64做这个,但是为了让它工作,我必须这样做 使用Base64.URL_SAFE | Base64.NO_WRAP,否则将不会调用Web服务。 所以在我的Android代码中我做了:
String dataToSend = "Some text"
byte[] data = dataToSend.getBytes();
Base64.encodeToString((data), Base64.URL_SAFE|Base64.NO_WRAP);
这没关系,但问题是我无法用C#解码它。在Web服务中 我这样做:
String data; // received data from Android
byte[] output = Convert.FromBase64String(data);
但如果我运行代码,我会在C#中出错:
System.FormatException{"The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or a non-white space character among the padding characters"}
我知道这是因为URL Safe和No Wrap,但我需要它来发送数据。 有没有办法将数据转换为C#中的默认Base64字符串?或者我是否在收到的Base64字符串中替换/删除了一些内容?