方便快速的java byte数组转十六进制字符串的方法
Java网络编程中经常遇到一个问题,就是byte数组的打印输出,比如:
byte test[] = decrypted("测试");
test是加密后的数据,要把test存入数据库中等待解密,因为考虑到兼容性,要把test转成字符串存储,有一种方法是用base64编码,这在另一篇博文中讲,这里我们讲把byte数组转16进制字符串的方法。
其实方法非常简单,用jdk自带的类javax.xml.bind.DatatypeConverter
就可以解决,例子如下:
import javax.xml.bind.DatatypeConverter;
public class TestMain {
public static void main(String[] args) {
byte test[] = "测试".getBytes();
String testHexString = DatatypeConverter.printHexBinary(test);//将byte数组转为十六进制字符串
System.out.println(testHexString);
byte test2[] = DatatypeConverter.parseHexBinary(testHexString);//将十六进制字符串转为byte数组
}
}