2013-06-20 166 views
2

我已经在Java中转换的图像字节数组base64encoded串使用问题与base64编码和解码从Java到C#

Base64.encodeBase64URLSafeString(baos.toByteArray()); 

和我能够回解码为字节数组ANS保存图像文件,其与原始文件相同。但是当我将base64编码字符串传递给ASP .NET Web服务并尝试使用解码时

Convert.FromBase64String(base64String); 

我无法重现相同的图像。请给我建议正确的解码方式 - 在C#中用java编码的base64图像。

回答

5

我假设您使用来自Apache的commons-codec,因为Java在标准API中没有Base64类。

您在Java端使用Base64类中的错误方法。您必须使用

Base64.encodeBase64(baos.toByteArray()); 

您正在使用的方法是以URL安全方式​​创建base64,而不是默认的base64编码。

另请参阅wikipedia article的差异。

+0

感谢您的回复。我已将方法更改为Base64.encodeBase64String(baos.toByteArray()); 。它现在的工作:) – sulthana

+0

@sulthana如果解决方案适合你,那么[接受答案](http://stackoverflow.com/help/accepted-answer)是很好的。 –