char[] (byte[] bytes, int offset) { int j = 0; int s = bytes.length - offset - 1; int l = Math.min(s, 2); for (int i = 0; i <= l; i++) { byte b = bytes[offset + i]; int n = b >= 0 ? ((int)(b)) : b + 256; j += n << 8 * (2 - i); } char[] ac = new char[4]; for (int k = 0; k < 4; k++) { int l1 = j >>> 6 * (3 - k) & 0x3f; ac[k] = getChar(l1); } if (s < 1) ac[2] = '='; if (s < 2) ac[3] = '='; return ac; }