SQLServer⼆进制数据解析
SQL Server 数据库中主要有三种⼆进制类型:binary varbinary  image,但是在数据库中显⽰的却是16进制类型。所以我们解析数据时,应该将⼗六进制进⾏解析,对应的Java代码如下:
1/**
2    * 16进制直接转换成为字符串
3    *
4    * @explain
5    * @param hexStr 16进制字符串
6    * @return String (字符集:UTF-8)
7*/
8public static String fromHexString(String hexString) throws Exception {
9
10// ⽤于接收转换结果
11        String result = "";
12// 转⼤写
13        hexString = UpperCase();
14// 16进制字符
java连接sqlserver数据库
15        String hexDigital = "0123456789ABCDEF";
16// 将16进制字符串转换成char数组
17char[] hexs = CharArray();
18// 能被16整除,肯定可以被2整除
19byte[] bytes = new byte[hexString.length() / 2];
20int n;
21
22for (int i = 0; i < bytes.length; i++) {
23            n = hexDigital.indexOf(hexs[2 * i]) * 16 + hexDigital.indexOf(hexs[2 * i + 1]);
24            bytes[i] = (byte) (n & 0xff);
25        }
26// byte[]-->String
27        result = new String(bytes);
28return result;
29
30    }
主要思路是先将16进制字符串转换成char数组,再转换成byte字节数组,利⽤java String进⾏转换。