c# - Java编码base64,C#解码

标签 c# java asp.net encoding base64


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

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

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

最佳答案

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

关于c# - Java编码base64,C#解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5805022/

相关文章:

c# - 在 C# 中的自定义验证属性中使用异步方法

java - 使用 Id Autowiring tcp-outbound-channel-adapter 不起作用

jQuery Validate 无法调用未定义的方法 'call'

c# - 在 C# 中获取 Javascript Modified Dropdownlist 的选定值

c# - 如何减少提取文件所需的时间?

c# - 将 NSubstitute 导入 Unity 项目

java - 为什么 ScheduledExecutorService 没有按预期工作?

asp.net - 如何使用 MVC Razor 设置类等 html 属性?

c# - Linq 表达式和 "Not Contains"查询

java - 在Java中,在当前线程被调用sleep()后,其他线程如何有机会运行但仍然持有锁?