如何在Java中将字符串转换为十六进制,反之亦然?

字符串到十六进制

Integer类的toHexString()方法接受一个整数作为参数,并返回一个十六进制字符串。因此,要将字符串转换为十六进制String-

  • 获取所需的字符串。

  • 创建一个空的StringBuffer对象。

  • 使用String类的toCharArray()方法将其转换为字符数组。

  • 使用循环遍历上面创建的数组的内容。

  • 在循环内,将数组的每个字符转换为整数,并将其作为参数传递给Integer类的toHexString()方法。

  • 使用append()StringBuffer类的方法将结果值附加到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();

      //将字符串转换为字符数组

      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:

Nhooo

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

Nhooo

以上是 如何在Java中将字符串转换为十六进制,反之亦然? 的全部内容, 来源链接: utcz.com/z/335280.html

回到顶部