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进⾏转换。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论