字符串转换为ASCII
/** * 字符串转换为十六进制 * @param value * @return */ public static String convertStringToHex(String str) { char[] chars = str.toCharArray(); StringBuffer hex = new StringBuffer(); for (int i = 0; i < chars.length; i++) { hex.append(Integer.toHexString((int) chars[i])); } return hex.toString(); } 字符串转换为十六进制
/** * 十六进制转换为字符串 * @param value * @return */ public static String convertHexToString(String hex) { StringBuilder sb = new StringBuilder(); StringBuilder temp = new StringBuilder(); // 49204c6f7665204a617661 split into two characters 49, 20, 4c... for (int i = 0; i < hex.length() - 1; i += 2) { // grab the hex in pairs String output = hex.substring(i, (i + 2)); // convert hex to decimal int decimal = Integer.parseInt(output, 16); // convert the decimal to character sb.append((char) decimal); temp.append(decimal); } return sb.toString(); } 十六进制转换为字符串
// char转byte public static byte[] getBytes (char[] chars) { Charset cs = Charset.forName ("UTF-8"); CharBuffer cb = CharBuffer.allocate(chars.length); cb.put(chars); cb.flip(); ByteBuffer bb = cs.encode(cb); return bb.array(); } 字符数组转换为字节数组
// byte转char public static char[] getChars(byte[] bytes) { Charset cs = Charset.forName ("UTF-8"); ByteBuffer bb = ByteBuffer.allocate(bytes.length); bb.put(bytes); bb.flip(); CharBuffer cb = cs.decode(bb); return cb.array(); } 字节数组转换为字符数组
// 十进制转化为十六进制,结果为C8。 Integer.toHexString(200); // 十六进制转化为十进制,结果140。 Integer.parseInt("8C",16)