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