I have a Java function that converts a number into a Base64 string :
//Using Base64 from apache : org.apache.commons.codec.binary.Base64
String base64 = new String(Base64.encodeInteger(BigInteger.valueOf(Long.parseLong(myLong)))).replaceAll("=", "");
For instance, for 1272209127 I'm getting S9Re5w
Now, I need to convert it back client-side. I'm trying with :
var byteCharacters = btoa("S9Re5w");
var byteNumbers = new Array(byteCharacters.length);
for (var i = 0; i < byteCharacters.length; i++) {
byteNumbers[i] = byteCharacters.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
var value = 0;
for (var i = 0; i < byteArray.length; i++) {value = (value << 8) + (byteArray[i] & 0xff);}
But I get 1515476531...
Could anyone help me understand better how to do that ?
