image
是图像文件的字符串。
我的 C# 代码如下:
Convert.ToBase64String(image);
并用Java编写代码如下:org.apache.commons.codec.binary.Base64.encodeBase64(image.getBytes())
结果不同。
有人说是因为
Java 字节:-128 到 127
C# 字节:0 到 255
但我该如何解决这个问题呢?我怎样才能实现C#的Convert.ToBase64String()
在Java中?
我需要使用 Java 获得与 C# 相同的结果。
首先,您需要认识到一个字节存储 256 个值,无论其有符号还是无符号。如果你想从有符号字节中获取无符号值(这是Java支持的),你可以使用& 0xFF
e.g.
byte[] bytes = { 0, 127, -128, -1};
for(byte b: bytes) {
int unsigned = b & 0xFF;
System.out.println(unsigned);
}
prints
0
127
128
255
简单的答案是您不需要具有相同值的 byte[] 。 ;)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)