1

我有一个使用 C# Web 服务的 Android 应用程序。现在我需要将一些数据从应用程序发送到网络服务。我想使用 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# 中对其进行解码。在网络服务中,我这样做:

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 and No Wrap,但我需要它来发送数据。有没有办法将数据转换为 C# 中的默认 Base64 字符串?或者我是否在收到的 Base64 字符串中替换/剥离了一些东西?

4

0 回答 0