这个也是根据前辈的博客改写的代码,附上以下链接:
https://blog.csdn.net/sskicgah/article/details/12904881
package main;
//import java.util.Date;
import java.util.UUID;
public class UUIDBits {
/**
* 采用URL Base64字符,即把“+/”换成“-_”
*/
static private char[] alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=".toCharArray();
/**
* Base64 编码
* @param data
* @return
*/
private char[] encode(byte[] data) {
char[] out = new char[((data.length + 2) / 3) * 4];
boolean quad, trip;
for (int i = 0, index = 0; i < data.length; i += 3, index += 4) {
quad = trip = false;
int val = (0xFF & (int) data[i]);
val <<= 8;
if ((i + 1) < data.length) {
val |= (0xFF & (int) data[i + 1]);
trip = true;
}
val <<= 8;
if ((i + 2) < data.length) {
val |= (0xFF & (int) data[i + 2]);
quad = true;
}
out[index + 3] = alphabet[(quad ? (val & 0x3F) : 64)];
val >>= 6;
out[index + 2] = alphabet[(trip ? (val & 0x3F) : 64)];
val >>= 6;
out[index + 1] = alphabet[val & 0x3F];
val >>=