public static String decode(String str62) {
String[] ss = split(str62, 4);
StringBuilder sb = null;
for (String s : ss) {
s = toDecString(s);
if (sb == null) {
sb = new StringBuilder(s);
} else {
sb.append(format(s, 7));
}
}
return sb.toString();
}
private static String format(String str, int len) {
if (len <= str.length()) {
return str;
}
char[] cs = new char[len];
Arrays.fill(cs, '0');
return String.copyValueOf(cs, 0, len - str.length()) + str;
}
private static String toDecString(String str62) {
long res = 0;
int len = str62.length();
for (int ii = 0; ii < len; ii++) {
long atom = (long) Math.pow(62, len - ii - 1);
res = res + atom * convert2Int(str62.charAt(ii));
}
return String.valueOf(res);
}
private static int convert2Int(char c) {
if (c >= 48 && c <= 57) {//0-9
return c - 48;
} else if (c >= 97 && c <= 122) {//a-z
return c - 87;
} else if (c >= 65 && c <= 90) {//A-Z
return c - 29;
} else {//不支持的字符
return -1;
}
}
private static String[] split(String s, int len) {
int count = s.length();
int nn = count % len;
int size = (nn > 0) ? count / len + 1 : count / len;
String[] res = new String[size];
nn = nn > 0 ? nn : len;
res[0] = s.substring(0, nn);
for (int ii = 1; ii < size; ii++) {
res[ii] = s.substring((ii - 1) * len + nn, ii * len + nn);
}
return res;
}
public static void main(String[] args) {
Test test = new Test();
//http://weibo.com/3173644855/zDl0ZAVZC
String s=test.decode("zDl0ZAVZC");
System.out.println(s);
}
分享到:
相关推荐
java base64的MP3转base64的pcm工具类,适用于微信小程序的语音转文字,因为小程序的录音为MP3,大部分语音读写的第三方只支持wav和pcm,不用生成文件
Java Base64加密解密方法工具类
javabase64-1.3.1.jar,RSA非对称加密算法中有需要用到,亲测可用
javabase64-1.2.jar
javabase64-1.3.1.jar
javabase64-1.3.1.jar java用的base64加密解密工具包.其实很多依赖里面都带,比如shiro或者apache,如果没有其他的jar包的话可以下载我这个试试
javabase64-1.3.1.jar,有需要的,可以下载
Base64自定义码表,自己替换下字符就可以用。
java源码,base64转码解码,包括源码和jar包,图片或文件与base64互相转换。
JAVA Base64加密技术,资源描述需要大于20个字符真是BT
Java Base64文件加密解密类,主要是提供Base64.java文件的下载,这个文件中提供了多种文件的加密解密方法,来自国外的一个类库,十分有参考价值。
Base64工具类包,一般用于使用AES加密解密类中的使用工具类中需要引用的jar包
Java Base64 这是一个用于编码和解码(encode/decode )base64字符串和数据流的Java开源类库。Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一。可用来作为电子邮件或WebService附件的传输编码.
http://blog.csdn.net/yx0628/article/details/9633947 这个是gps转百度地图坐标的相关介绍。
JAVA Base64算法 对字符进行64位编码,解码
使用 RSA 前端加密,后端解密的解决方法,其中Base64Utils.java为后端解密依赖!
java base64 算法 java实现base64加密 解密
https://blog.csdn.net/qq_37604915/article/details/80648850
包含sun.misc.编码解码、org.apache.commons.codec.binary.Base64编码解码、自定义的、myBase64Encode/Dencode 以及对对几种方式的区别