如何在 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

更新於: 2019年10月11日

16K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告