image 是图像文件的字符串.
我在C#中有如下代码:
Convert.ToBase64String(image);
和Java中的代码如下:
org.apache.commons.codec.binary.Base64.encodeBase64(image.getBytes())
结果是不同的.
有人说是因为
Java字节:-128到127
C#字节:0到255
但我该如何解决这个问题呢?如何Convert.ToBase64String()在Java中实现C#?我需要使用Java在C#中获得相同的结果.
首先,您需要意识到一个字节存储256个值,无论是有符号还是无符号.如果要从签名字节(Java支持的)中获取无符号值,可以使用& 0xFF
例如
byte[] bytes = { 0, 127, -128, -1};
for(byte b: bytes) {
int unsigned = b & 0xFF;
System.out.println(unsigned);
}
Run Code Online (Sandbox Code Playgroud)
版画
0
127
128
255
Run Code Online (Sandbox Code Playgroud)
简单的答案是你不需要一个具有相同值的byte [].;)
| 归档时间: |
|
| 查看次数: |
6389 次 |
| 最近记录: |