in xstream/src/java/com/thoughtworks/xstream/core/util/Base64Encoder.java [97:115]
public String encode(final byte[] input) {
final int stringSize = computeResultingStringSize(input);
final StringBuilder result = new StringBuilder(stringSize);
int outputCharCount = 0;
for (int i = 0; i < input.length; i += 3) {
final int remaining = Math.min(3, input.length - i);
final int oneBigNumber = (input[i] & 0xff) << 16
| (remaining <= 1 ? 0 : input[i + 1] & 0xff) << 8
| (remaining <= 2 ? 0 : input[i + 2] & 0xff);
for (int j = 0; j < 4; j++) {
result.append(remaining + 1 > j ? SIXTY_FOUR_CHARS[0x3f & oneBigNumber >> 6 * (3 - j)] : '=');
}
if (lineBreaks && (outputCharCount += 4) % 76 == 0 && i + 3 < input.length) {
result.append('\n');
}
}
final String s = result.toString();
return s;
}