package com.ud.ruleengine.utils;
import java.math.BigInteger;
public class ParseUtils {
/**
* 截取byte数组
* @param src
* @param begin
* @param count
* @return
* 小端,有符号
*/
public static byte[] subBytes(byte[] src, int begin, int count) {
byte[] bs = new byte[count];
System.arraycopy(src, begin, bs, 0, count);
return bs;
}
/**
* 字节数组转int
* @param b
* @return
*/
public static int byteArrayToInt(byte[] b) {
int intValue = 0;
for (int i = 0; i < b.length; i++) {
intValue += (b[i] & 0xFF) << (8 * (3 - i));
}
return intValue;
}
/**
* 字节数组转不同进制字符串
* @param bytes
* @param radix
* @return
*/
public static String binary(byte[] bytes, int radix){
return new BigInteger(1, bytes).toString(radix);// 这里的1代表正数
}
}
byte[] decode = Base64Encrypt.decode(data);
String a1 = ParseUtils.binary(ParseUtils.subBytes(decode, 0, 2), 10);
String a2 = ParseUtils.binary(ParseUtils.subBytes(decode,2,1), 10);
String a3 = ParseUtils.binary(ParseUtils.subBytes(decode,3,2), 10);
String a4 = ParseUtils.binary(ParseUtils.subBytes(decode,5,2), 10);
String a5 = ParseUtils.binary(ParseUtils.subBytes(decode,7,1), 10);
String a6 = ParseUtils.binary(ParseUtils.subBytes(decode,8,2), 10);