HexCardTransform.java
1.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package com.bsth.util;
import java.math.BigInteger;
/**
* Created by panzhao on 2017/9/27.
*/
public class HexCardTransform {
/**
* 16进制卡ID号转10进制
*
* @param hexCode
* @return
*/
public static String hexConvert(String hexCode) {
//16进制补满8位
hexCode = padLeft(hexCode, 8, '0');
char[] cardIdArray = hexCode.toCharArray();
String cardId16Counter = "";
String cardId10 = "";
//倒序
for (int i = cardIdArray.length - 1; i >= 0; i -= 2) {
cardId16Counter += cardIdArray[i - 1] + "" + cardIdArray[i];
}
//转10进制
cardId10 = String.valueOf(new BigInteger(cardId16Counter, 16));
//10进制补满10位
cardId10 = padLeft(cardId10, 10, '0');
return cardId10;
}
public static String padLeft(String oriStr, int len, char alexin) {
String str = "";
int strlen = oriStr.length();
if (strlen < len) {
for (int i = 0; i < len - strlen; i++) {
str = str + alexin;
}
}
str = str + oriStr;
return str;
}
}