概述
Oracle中的raw类型字段在java中如何转成字符
- Oracle中的raw类型对应Java中的byte数组
- 工具类代码如下
- 主测试方法如下
Oracle中的raw类型对应Java中的byte数组
在使用Java语言操作数据库中的raw的字段时,会发现获取到的是byte类型的数组,下面介绍如何使用原生的方法,将byte数组转成字符串类型,并且避免乱码。
工具类代码如下
public class ByteToStringUtil {
public static String decToHex(int dec) {
StringBuilder hexdecimalNumber = new StringBuilder();
int length = 8;
int[] arrayNumber = new int[length];
for (int i = 0; i < length; i++) {
arrayNumber[i] = (dec & (0xF << i * 4)) >>> i * 4;
}
for (int i = 1; i >= 0; i--) {
switch (arrayNumber[i]) {
case 0:
hexdecimalNumber.append("0");
break;
case 10:
hexdecimalNumber.append("A");
break;
case 11:
hexdecimalNumber.append("B");
break;
case 12:
hexdecimalNumber.append("C");
break;
case 13:
hexdecimalNumber.append("D");
break;
case 14:
hexdecimalNumber.append("E");
break;
case 15:
hexdecimalNumber.append("F");
break;
default:
hexdecimalNumber.append(Integer.toString(arrayNumber[i]));
}
}
return hexdecimalNumber.toString();
}
}
主测试方法如下
public class Main {
public static void main(String[] args) {
//此处为获取到的数据库中的raw类型的字节数组
byte[] byteArr = { 105, 19, 123, -117, 64, 0, 1, -95, 27, 3, -105, 32,
45, -29, 72, -87 };
//定义拼接字符串
StringBuffer raw = new StringBuffer();
for (int i = 0; i < byteArr.length; i++) {
//调用工具类,字节进行解析后,拼接到字符串中
raw.append(ByteToStringUtil.decToHex(byteArr[i]));
}
System.out.println(raw);
}
}
最后
以上就是潇洒雨为你收集整理的Oracle中的raw类型字段在Java中如何转成字符的全部内容,希望文章能够帮你解决Oracle中的raw类型字段在Java中如何转成字符所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复