public static String bytes2HexStr(byte[] src) { StringBuilder builder = new StringBuilder(); if (src == null || src.length <= 0) { return ""; } char[] buffer = new char[2]; for (int i = 0; i < src.length; i++) { buffer[0] = forDigit((src[i] >>> 4) & 0x0F, 16); buffer[1] = forDigit(src[i] & 0x0F, 16); builder.append(buffer); } return builder.toString(); }
时间: 2024-02-14 19:19:26 浏览: 195
这是一个将字节数组转换成十六进制字符串的方法,它将每一个字节转换成两个字符表示十六进制数,并将这些字符拼接成一个字符串返回。其中,forDigit() 是一个 Java 内置方法,用于将一个数字转换成指定进制下的字符。在这个方法中,它将每个字节的高四位和低四位分别转换成两个十六进制数的字符,然后将它们拼接起来,最终得到一个表示整个字节数组的十六进制字符串。
相关问题
private static String byte2hex(byte[] bytes) { StringBuilder sign = new StringBuilder(); for (byte b : bytes) { String hex = Integer.toHexString(b & 255); if (hex.length() == 1) { sign.append("0"); } sign.append(hex.toUpperCase()); } return sign.toString(); }翻译成javascript代码
& 0xFF); if (hex.length() == 1) { sign.append("0"); } sign.append(hex.toUpperCase()); } return sign.toString(); }这个函数可以将字节数组转换为十六进制字符串。
public static String chineseToHex(String chineseString) { try { byte[] bytes = chineseString.getBytes("UTF-8"); StringBuilder hexString = new StringBuilder(); for (byte b : bytes) { String hex = Integer.toHexString(b & 0xFF); if (hex.length() == 1) { hexString.append('0'); } hexString.append(hex); } return hexString.toString(); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return null; }
这段代码是一个 Java 方法,它将一个中文字符串转换成十六进制字符串。它首先将中文字符串转换成 UTF-8 编码的字节数组,然后遍历字节数组中的每个字节,将每个字节转换成两位十六进制数,并将这些十六进制数拼接成一个字符串返回。如果字节的十六进制表示只有一位,它会在前面添加一个 0,以保证每个字节都对应两位十六进制数。如果转换过程出现异常,它会打印异常信息并返回 null。
阅读全文