ASCII、十六进制、字节数组、字符数组相互转换

    xiaoxiao2021-04-17  38

    /** * 字符串转换为Ascii * @param value * @return */ public static String stringToASCII(String value) { StringBuffer sbu = new StringBuffer(); char[] chars = value.toCharArray(); for (int i = 0; i < chars.length; i++) { // if(i != chars.length - 1) // { // sbu.append((int)chars[i]).append(","); // } // else{ // } sbu.append((int)chars[i]); } return sbu.toString(); }

    字符串转换为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)

    转载请注明原文地址: https://ju.6miu.com/read-673726.html

    最新回复(0)