原来是数字类型的值,以字节byte的形式转换为数字
/*低8位*/
//将该字节转换成字16进制字符串形式
String k1Str = Integer.toHexString(Integer.valueOf((short)byteValue1)) + "";
System.out.println("k1Str = " + k1Str);
//如果传回来的是4个字节形式的字符串,8个长度的字符串,就截取最后两位16进制的字符,即1个字节
if(k1Str.length() == 8) {
k1Str = k1Str.substring(6, 8);
}
System.out.println("k1Str = " + k1Str);
//转换为Integer对象值,就是数值类型了
Integer k1Int = Integer.valueOf(k1Str,16);
System.out.println("k1Int = " + k1Int);
/*高8位*/
String k2Str = Integer.toHexString(Integer.valueOf((short)byteValue2)) + "";
System.out.println("k2Str = " + k2Str);
if(k2Str.length() == 8) {
k2Str = k2Str.substring(6, 8);
}
System.out.println("k2Str = " + k2Str);
//高8位左移8位,直接乘以256省事
Integer k2Int = Integer.valueOf(k2Str,16)*256;
System.out.println("k2Int = " + k2Int);
Integer k = k1Int + k2Int;
System.out.println("k : " + k);
问题出来了:
以上是我要获取数据库blob的2进制流中的2个字节内容,但是毕竟麻烦,有更简便的方式吗?