将字节数组中每个字节转换为 16 进制字符串,可以使用 Integer.toHexString(byteValue)将转换后的字符串拼接起来得到最终的16进制字符串 例如:byte[] bytes = msg.getBytes();StringBuilder hexString = new StringBuilder();for (byte b : bytes) { hexString.append(Integer.toHexString(b & 0xff));...
java 以字符串获取的数组,怎么转成16位字符串?
你可以使用以下步骤将字符串 msg 转换为16进制字符串:
将字符串 msg 转换为字节数组,可以使用 Arrays.toString(msg.getBytes())
将字节数组中每个字节转换为 16 进制字符串,可以使用 Integer.toHexString(byteValue)
将转换后的字符串拼接起来得到最终的16进制字符串
例如:
byte[] bytes = msg.getBytes();
StringBuilder hexString = new StringBuilder();
for (byte b : bytes) {
hexString.append(Integer.toHexString(b & 0xff));
}
String result = hexString.toString();
注意:转换后的字符串可能会有一些前导0,如果需要去掉可以使用 string.replaceFirst("^0+(?!$)", "")
2023-01-22
可以使用Java的Integer.toHexString(int)方法将int类型转换成16进制字符串。
String hexString = "";
for (int i = 0; i < msg.length; i++) {
int num = Integer.parseInt(msg[i]);
String hex = Integer.toHexString(num);
hexString += hex;
}
System.out.println(hexString);2022-12-22
方法一:
String[] arr = msg.split(",");
StringBuilder sb = new StringBuilder();
for (String str : arr) {
int value = Integer.parseInt(str.trim());
sb.append(Integer.toHexString(value)).append(" ");
}
String hexStr = sb.toString();
System.out.println(hexStr);
方法二:
String[] arr = msg.split(",");
StringBuffer sb = new StringBuffer();
for (int i = 0; i < arr.length; i++) {
String hexStr = Integer.toHexString(Integer.valueOf(arr[i]));
sb.append(hexStr).append(" ");
}
System.out.println(sb.toString());2023-02-14
String[] strArray = new String[]{"a","b","c"};StringBuilder sb = new StringBuilder();for (String str : strArray) { sb.append(String.format("%016x", new BigInteger(1, str.getBytes())));}String hexStr = sb.toString();System.out.println(hexStr);2023-02-12