通过串口或网络接收的数据常需要以16进制显示查看,但Java中没有直接将字节数组转换为16进制字符串的方法。
方法一:循环每个字节转为16进制字符串并判断补0每字节用两字符表示。
/**
* 字节数组转16进制
* @param bytes 需要转换的byte数组
* @return 转换后的Hex字符串
*/
public static String bytesToHex(byte[] bytes) {
StringBuffer sb = new StringBuffer();
for(int i = 0; i < bytes.length; i++) {
//使用toHexString
String hex = Integer.toHexString(bytes[i] & 0xFF);
if(hex.length() < 2){
sb.append(0);
}
sb.append(hex);
//或使用format
//hex=String.format("%02x", bytes[i]);
}
return sb.toString();
}
方法二:使用BigInteger类将字节数组转换为BigInteger对象。然后使用toString()方法将BigInteger对象转换为16进制字符串。但这样转出来的字符串开头没有0。
String hexString=new BigInteger(1, bytes).toString(16);
本文对比了WAP与智能客户端在传输控制、安全级别、速度等方面的差异,并介绍了智能客户端结合了胖客户端与瘦客户端的优点。同时,文章还讨论了系统如何确保数据安全,包括手机端加密存储、独立机制、网络加密传输等。
623

被折叠的 条评论
为什么被折叠?



