publicstaticbyte[]parse(String hexString){String[] hexes = hexString.split(" ");byte[] data =newbyte[hexes.length];for(int i =0; i < hexes.length; i++){
data[i]=(byte)(Integer.parseInt(hexes[i],16)&0xff);}return data;}
将十进制字符串转换成BCD编码
/**
* 将10进制字符串转换为BCD码
*
* @param asc 十进制字符串
* @return BCD码
*/publicstaticbyte[]stringToBcd(String asc){int len = asc.length();int mod = len %2;if(mod !=0){
asc ="0"+ asc;
len = asc.length();}byte[] abt;if(len >=2){
len = len /2;}byte[] bbt =newbyte[len];
abt = asc.getBytes();int j, k;for(int p =0; p < asc.length()/2; p++){if((abt[2* p]>='0')&&(abt[2* p]<='9')){
j = abt[2* p]-'0';}elseif((abt[2* p]>='a')&&(abt[2* p]<='z')){
j = abt[2* p]-'a'+0x0a;}else{
j = abt[2* p]-'A'+0x0a;}if((abt[2* p +1]>='0')&&(abt[2* p +1]<='9')){
k = abt[2* p +1]-'0';}elseif((abt[2* p +1]>='a')&&(abt[2* p +1]<='z')){
k = abt[2* p +1]-'a'+0x0a;}else{
k = abt[2* p +1]-'A'+0x0a;}int a =(j <<4)+ k;byte b =(byte) a;
bbt[p]= b;}return bbt;}