BCD碼,全稱 二進制編碼的十進制(Binary-Coded Decimal),指的就是用四位二進制數表示一位BCD碼,用一個字節表示的兩位BCD碼,稱爲壓縮型BCD碼。
/**
* BCD編碼
* @author Administrator
*
*/
public class BCD {
/**
* 將十進制字符串轉換爲 BCD編碼
* @param str
* @return
*/
public static byte[] String_BCD(String str) {
byte[] s = str.getBytes();
byte[] b = new byte[s.length/2];
for(int i=0;i<b.length;i++) {
b[i] = (byte) (s[2*i] << 4 | (s[2*i+1] & 0xf));
}
return b;
}
/**
* 將BCD編碼的byte數組轉換爲String
* @param bcd
* @return
*/
public static String BCD_String(byte[] bcd) {
StringBuilder sb = new StringBuilder();
for(int i=0;i<bcd.length;i++) {
sb.append(bcd[i]>>4&0xf)
.append(bcd[i]&0xf);
}
return sb.toString();
}
}