docs: public static String encode(byte[] bytes) {
  		int bytesLength = bytes.length;
  		int base64Length = (bytesLength * 4 + 2) / 3; // base64 encoded string length, without padding
  
  		StringBuilder base64Builder = new StringBuilder();
  		int bytesIndex = 0;
  
  		while (bytesIndex < bytesLength) {
  			int i0 = bytes[bytesIndex++] & 0xff;
  			int i1 = bytesIndex < bytesLength ? bytes[bytesIndex++] & 0xff : 0;
  			int i2 = bytesIndex < bytesLength ? bytes[bytesIndex++] & 0xff : 0;
  
  			int o0 = i0 >>> 2;
  			int o1 = ((i0 & 3) << 4) | (i1 >>> 4);
  			int o2 = ((i1 & 0xf) << 2) | (i2 >>> 6);
  			int o3 = i2 & 0x3F;
  
  			base64Builder.append(NIBLES_2_CHARS[o0]);
  			base64Builder.append(NIBLES_2_CHARS[o1]);
  			base64Builder.append(base64Builder.length() < base64Length ? NIBLES_2_CHARS[o2] : '=');
  			base64Builder.append(base64Builder.length() < base64Length ? NIBLES_2_CHARS[o3] : '=');
  		}
  
  		return base64Builder.toString();
  	}