在C#中解码Android Base64 URL SAFE和NO WRAP

时间:2013-10-30 14:18:28

标签: c# android base64

我有一个使用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字符串中替换/删除了一些内容?

0 个答案:

没有答案