如何在 Java 中將字串轉換為十六進位制格式,反之亦然?
字串到十六進位制
Integer 類的 toHexString() 方法接受一個整數作為引數,並返回一個十六進位制字串。因此,要將字串轉換為十六進位制字串 -
獲取所需的字串。
建立一個空的 StringBuffer 物件。
使用 String 類的 toCharArray() 方法將其轉換為字元陣列。
使用迴圈遍歷上面建立的陣列的內容。
在迴圈中,將陣列的每個字元轉換為整數,並將其作為引數傳遞給 Integer 類的 toHexString() 方法。
使用 StringBuffer 類的 append() 方法將結果值附加到 StringBuffer 物件。
最後,使用 StringBuffer 類的 toString() 方法將 StringBuffer 物件轉換為字串。
示例
import java.util.Scanner; public class StringToHexadecimal { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("Enter a String value: "); String str = sc.next(); StringBuffer sb = new StringBuffer(); //Converting string to character array char ch[] = str.toCharArray(); for(int i = 0; i < ch.length; i++) { String hexString = Integer.toHexString(ch[i]); sb.append(hexString); } String result = sb.toString(); System.out.println(result); } }
輸出
Enter a String value: Tutorialspoint 5475746f7269616c73706f696e74
十六進位制到字串
同樣,要將十六進位制(字串)值轉換為字串 -
獲取十六進位制值(字串)。
使用 toCharArray() 方法將其轉換為字元陣列。
從陣列中讀取每兩個字元,並將它們轉換為字串。
將上面獲得的字串解析為 16 進位制整數,將其轉換為字元。
將所有字元連線到一個字串中。
示例
import java.util.Scanner; public class HexadecimalToString { public static void main(String args[]) { Scanner sc = new Scanner(System.in); System.out.println("Enter a Hexadecimal value: "); String str = sc.next(); String result = new String(); char[] charArray = str.toCharArray(); for(int i = 0; i < charArray.length; i=i+2) { String st = ""+charArray[i]+""+charArray[i+1]; char ch = (char)Integer.parseInt(st, 16); result = result + ch; } System.out.println(result); } }
輸出
Enter a Hexadecimal value: 5475746f7269616c73706f696e74 Tutorialspoint
廣告