如何在 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+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告