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