3、11.hex='0'+hex;12.}13.ret+=hex.toUpperCase();14.}15.returnret;16.}1./**2.*将两个ASCII字符合成一个字节;3.*如:"EF"-->0xEF4.*@paramsrc0byte5.*@paramsrc1byte6.*@returnbyte7.*/8.publicstaticbyteuniteBytes(bytesrc0,bytesrc1){9.byte_b0=Byte.decode("0x"+newString(newbyte[]{src0})).byteValue();10._b0=(byte
4、)(_b0<<4);11.byte_b1=Byte.decode("0x"+newString(newbyte[]{src1})).byteValue();12.byteret=(byte)(_b0^_b1);13.returnret;14.}1./**2.*将指定字符串src,以每两个字符分割转换为16进制形式3.*如:"2B44EFD9"-->byte[]{0x2B,0x44,0xEF,0xD9}4.*@paramsrcString5.*@returnbyte[]6.*/7.publicstaticbyte[]HexString2Bytes(Stringsrc)
5、{8.byte[]ret=newbyte[8];9.byte[]tmp=src.getBytes();10.for(inti=0;i<8;i++){11.ret[i]=uniteBytes(tmp[i*2],tmp[i*2+1]);12.}13.returnret;14.}CRC16Utilpackagecom.sunwei.sim4xian;importsun.misc.CRC16;publicclassCrc16Util{privatestaticfinalbyte[]hex="0123456789ABCDEF".getBytes();publicstatici
6、ntgetCRC16(byte[]data){intCRCTABLE[]={0xF078,0xE1F1,0xD36A,0xC2E3,0xB65C,0xA7D5,0x954E,0x84C7,0x7C30,0x6DB9,0x5F22,0x4EAB,0x3A14,0x2B9D,0x1906,0x088F,0xE0F9,0xF170,0xC3EB,0xD262,0xA6DD,0xB754,0x85CF,0x9446,0x6CB1,0x7D38,0x4FA3,0x5E2A,0x2A95,0x3B1C,0x0987,0x180E,0xD17A,0xC0F3,0xF268,0xE
7、3E1,0x975E,0x86D7,0xB44C,0xA5C5,0x5D32,0x4CBB,0x7E20,0x6FA9,0x1B16,0x0A9F,0x3804,0x298D,0xC1FB,0xD072,0xE2E9,0xF360,0x87DF,0x9656,0xA4CD,0xB544,0x4DB3,0x5C3A,0x6EA1,0x7F28,0x0B97,0x1A1E,0x2885,0x390C,0xB27C,0xA3F5,0x916E,0x80E7,0xF458,0xE5D1,0xD74A,0xC6C3,0x3E34,0x2FBD,0x1D26,0x0CAF,