i know there ways convert base36 tostring
or base64 encodetostring
. however, how it. example, using
private static final string base = "0123456789abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz_=!@#$%^&*()[]{}|;:,.<>/?`~ \\'\"+-";
i able int following code.
private string convertbase(int num) { string text = ""; int j = (int) math.ceil(math.log(num) / math.log(base.length())); (int = 0; < j; i++) { text += base.charat(num % base.length()); num /= base.length(); } return text; }
however, numerical value of byte[]
bigger long
.
ok, found answer myself. used biginteger
solve it.
public string baseconvert(final biginteger number, final string charset) { biginteger quotient; biginteger remainder; final stringbuilder result = new stringbuilder(); final biginteger base = biginteger.valueof(charset.length()); { remainder = number.remainder(base); quotient = number.divide(base); result.append(charset.charat(remainder.intvalue())); number = number.divide(base); } while (!biginteger.zero.equals(quotient)); return result.reverse().tostring(); }
Comments
Post a Comment