![JAR search and dependency download from the Maven repository](/logo.png)
com.github.antelopeframework.remoting.server.HessianBase64 Maven / Gradle / Ivy
The newest version!
package com.github.antelopeframework.remoting.server;
public class HessianBase64 {
/**
* Creates the Base64 value.
*/
public static String base64(String value) {
StringBuffer cb = new StringBuffer();
int i = 0;
for (i = 0; i + 2 < value.length(); i += 3) {
long chunk = (int) value.charAt(i);
chunk = (chunk << 8) + (int) value.charAt(i + 1);
chunk = (chunk << 8) + (int) value.charAt(i + 2);
cb.append(encode(chunk >> 18));
cb.append(encode(chunk >> 12));
cb.append(encode(chunk >> 6));
cb.append(encode(chunk));
}
if (i + 1 < value.length()) {
long chunk = (int) value.charAt(i);
chunk = (chunk << 8) + (int) value.charAt(i + 1);
chunk <<= 8;
cb.append(encode(chunk >> 18));
cb.append(encode(chunk >> 12));
cb.append(encode(chunk >> 6));
cb.append('=');
} else if (i < value.length()) {
long chunk = (int) value.charAt(i);
chunk <<= 16;
cb.append(encode(chunk >> 18));
cb.append(encode(chunk >> 12));
cb.append('=');
cb.append('=');
}
return cb.toString();
}
public static char encode(long d) {
d &= 0x3f;
if (d < 26) {
return (char) (d + 'A');
} else if (d < 52) {
return (char) (d + 'a' - 26);
} else if (d < 62) {
return (char) (d + '0' - 52);
} else if (d == 62) {
return '+';
} else {
return '/';
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy