java中byte字符串转换为16进制

来源:百度知道 编辑:UC知道 时间:2024/06/28 10:11:13
本菜鸟用java实现3DES时,需要把byte字符串转化为16进制输出,网上有转换为“10101000001111011”这种的,我需要转换后为“ABCDE4153”这种的。希望哪位高手帮我解决,谢谢。

byte arr[]={-85, -51, -28, 21, 3}; String s="";
for(int i=0;i<arr.length;i++)s+=Integer.toHexString(arr[i]&0xff);
System.out.println(s);

自己对比。

不知道有没有别的写法,你可以自己写的,思路是将他转化成十进制,调用Integer类的toHexString()?方法名忘了,应该就可以了吧

二进制->十进制算法就是用Math.pow这个函数搞起来的。具体怎么弄你自己看看