Java是一種強大而受歡迎的編程語言,它支持各種各樣的數據類型,包括hex和asc。Hex是指十六進制,用于表示數字0-9和字母A-F,而ASC則是指ASCII編碼,用于表示鍵盤中的所有字符。在Java中,有許多方法可以將Hex和ASC之間進行轉換。
//將十六進制字符串轉換成byte數組 public static byte[] hexStringToByteArray(String s) { int len = s.length(); byte[] data = new byte[len / 2]; for (int i = 0; i< len; i += 2) { data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16)<< 4) + Character.digit(s.charAt(i+1), 16)); } return data; } //將byte數組轉換成十六進制字符串 public static String byteArrayToHexString(byte[] bytes) { StringBuilder sb = new StringBuilder(); for (byte b : bytes) { sb.append(String.format("%02X", b)); } return sb.toString(); } //將ascii碼轉換成字符串 public static String asciiToString(String ascii) { StringBuilder sb = new StringBuilder(); String[] chars = ascii.split(" "); for (int i = 0; i< chars.length; i++) { sb.append((char) Integer.parseInt(chars[i])); } return sb.toString(); } //將字符串轉換成ascii碼 public static String stringToAscii(String str) { StringBuilder sb = new StringBuilder(); char[] chars = str.toCharArray(); for (int i = 0; i< chars.length; i++) { sb.append((int) chars[i]).append(" "); } return sb.toString(); }
使用這些方法,我們可以方便地將Hex和ASC之間進行轉換。比如,我們可以將"hello world"字符串轉換成ascii碼,再將ascii碼轉換成十六進制字符串:
String str = "hello world"; String ascii = stringToAscii(str); String hex = byteArrayToHexString(hexStringToByteArray(ascii)); System.out.println(hex); //輸出:"68 65 6C 6C 6F 20 77 6F 72 6C 64"
在處理二進制數據時,Hex和ASC的轉換是非常有用的。Java提供了各種各樣的方法來方便地實現這些轉換。