在Java中编码base64并在C#中解码

时间:2011-04-27 13:36:10

标签: c# java asp.net encoding base64


我在java和c#之间遇到问题,我将编码的字符串从java urlconnection发送到asp.net处理程序,我比较两个字符串,一个在java中从字节数组生成的字符串和在asp.net首先解码并且两者都是相同的但是在解码之后c#中的字节数组与java中的字节数组相等。 我正在使用新的sun.misc.BASE64Encoder()。encode(javabytearray);在java和System.Convert.FromBase64String(encodedstring);在dotnet。

来自java:“[0] [-24] [56] [1] [-56] [41] [-29] .........”
对于dotnet:“[0] [232] [56] [1] [200] [41] [227] .........”

类似:Encoding base64 in Java and decoding in C# 我不能在上面问这个问题,因为它是一个Q& A网站,每次必须创建一个新问题时,不能在另一个问题中提出问题。
非常感谢

1 个答案:

答案 0 :(得分:9)

byte在C#中未签名并在Java中签名。 Java byte-24的位模式等于c#byte232的位模式。所以你的代码应该是正确的。如果您想验证这一点,请转换为Java byte值为int并将256添加到负值。