byte转换16进制 java

来源:百度知道 编辑:UC知道 时间:2024/05/05 14:09:21
我想请教高手一下怎么用java把byte数组转换成16进制String输出 我转换出来的输出后都是01010111100000111这种形式 怎么才能输出ABC123554678ADZ这种16进制数啊?
这是我目前的方法:
protected String byteToHexString(byte[] bArray) {
StringBuffer sb = new StringBuffer(bArray.length);
String sTemp;
for (int i = 0; i < bArray.length; i++) {
sTemp = Integer.toHexString(0xFF & bArray[i]);
if (sTemp.length() < 2)
sb.append(0);
sb.append(sTemp.toUpperCase());
}
return sb.toString();
}

public static final String toHex(byte b) {
return ("" + "0123456789ABCDEF".charAt(0xf & b >> 4) + "0123456789ABCDEF".charAt(b & 0xf));
}
这样比你那样方便多了 呵呵 用我给你的方法单个解析byte就可以了

额,我用楼主的方法就是得不到0101这样的形式。