当我使用 Base64.encode(bytearray, Base64.DEFAULT) 对我的字节数组进行编码时,此方法的结果将在结果字节数组的最后一项添加 10,当我将此结果字节数组转换为字符串时,10 将转换为 \n (换行)最后请让我知道为什么 \n 会在最后附加
下面是将字符串转换为字节数组的代码
int inLength = hexValue.length();
int i, o = 0;
long outByte = 0;
byte[] outBytes = new byte[(inLength / 2)];
for (i = 0; i < inLength; i++) {
char c = hexValue.charAt(i);
int value = -1;
if (c >= '0' && c <= '9')
value = (c - '0');
else if (c >= 'A' && c <= 'F')
value = 10 + (c - 'A');
else if (c >= 'a' && c <= 'f')
value = 10 + (c - 'a');
if (value >= 0) {
if (i % 2 == 1) {
outBytes[o++] = (byte) ((outByte << 4) | value);
outByte = 0;
} else {
outByte = value;
}
} else {
if (o != 0)
break;
}
}
return outBytes;