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

我在java和c#之间遇到问题,我将编码的字符串从java urlconnection发送到asp.net处理程序,我比较两个字符串,从字节数组中生成的字符串和在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] ………”

类似: 用Java编码base64并用C#解码
我无法在上面问这个问题,因为它是一个问答网站,每次必须创建一个新问题时,都无法在另一个问题中提出问题。
非常感谢

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