import java.nio.charset.StandardCharsets;
public class ByteToHex {
/**
* 将byte数组转换为16进制字符串
* @param bytes 要转换的byte数组
* @return 16进制字符串
*/
public static String bytesToHex(byte[] bytes) {
StringBuilder hexString = new StringBuilder();
for (byte b : bytes) {
String hex = Integer.toHexString(0xFF & b);
if (hex.length() == 1) {
hexString.append('0');
}
hexString.append(hex);
}
return hexString.toString();
}
public static void main(String[] args) {
// 示例:将字符串 "Hello" 转换为byte数组,再转换为16进制字符串
String input = "Hello";
byte[] bytes = input.getBytes(StandardCharsets.UTF_8);
String hexString = bytesToHex(bytes);
System.out.println("原始字符串: " + input);
System.out.println("16进制字符串: " + hexString);
}
}
bytesToHex
方法:该方法接收一个 byte[]
数组作为参数,并将其转换为16进制字符串。每个字节会被转换为两位的16进制字符。StringBuilder
:用于高效地构建字符串。每次处理一个字节时,将其转换为16进制字符串并追加到 StringBuilder
中。Integer.toHexString
:将字节转换为无符号的16进制表示。由于字节是带符号的,使用 0xFF & b
来确保结果为正数。main
方法:演示了如何将字符串 "Hello"
转换为 byte[]
,然后调用 bytesToHex
方法将其转换为16进制字符串并输出结果。希望这段代码和解释对你有帮助!
上一篇:java ssl
下一篇:java byte转16进制
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站