/**
* byte2hex
* @param bytes
* @return
*/
public static String byteToHex(byte[] bytes, int cnt){
String strHex = "";
StringBuilder sb = new StringBuilder("");
for (int n = 0; n < cnt; n++) {
strHex = Integer.toHexString(bytes[n] & 0xFF);
sb.append((strHex.length() == 1) ? "0" + strHex : strHex);
}
return sb.toString().trim();
}
// Log.d 在android中只能最大打印4k的数据
//如果字符串的长度大于此值,应该拆分来打印
public static void printHexString( byte[] b ) {
byte[] buff = new byte[4096];
int index,remain;
String s;
index = 0x00;
remain = 0x00;
while( true ) {
remain = b.length - index;
if( remain > 1023 ){
System.arraycopy(b, index, buff, 0, 1023);
buff[1023] = 0x00;
s = byteToHex(buff, 1023);
//raw bin转换成 可以显示的hex格式
Log.d( TAG, "buff = " + s );
index=index+1023;
}else{
System.arraycopy( b, index, buff, 0, remain );
buff[remain] = 0x00;
s = byteToHex(buff, remain);
Log.d( TAG, "buff = " + s );
index=index+remain;
break;
}
}
}