如何将ASCII码(0-255)转换为关联字符的string?

我有一个int int范围0-255,我想要创build一个string(长度为1),以便该单个字符的ASCII值是指定的整数。

有没有一种简单的方法在Java中做到这一点?

例:

65 -> "A" 102 -> "f" 

Character.toString ((char) i);

System.out.println((char)65); 会打印“A”

String.valueOf ( Character.toChars(int) )

假设这个整数是0-255之间的数字,你将得到一个返回Character.toChars的单个字符的数组,当传递给String.valueOf时,它将变成一个单字符的string。

使用Character.toChars比涉及从intchar (即(char) ichar转换的方法要char ,包括如果您无法正确validation整数,而Cast将会吞下,则Character.toChars将抛出IllegalArgumentException该错误(根据缩小原始转换规范 ),可能会给出一个不是你想要的输出。

 int number = 65; char c = (char)number; 

这是一个简单的解决scheme

 new String(new char[] { 65 })) 

你将得到一个长度为1的string,其单个字符的(ASCII)码为65.在Javastring中是数字数据types。

可以像这样从a到z迭代

 int asciiForLowerA = 97; int asciiForLowerZ = 122; for(int asciiCode = asciiForLowerA; asciiCode <= asciiForLowerZ; asciiCode++){ search(sCurrentLine, searchKey + Character.toString ((char) asciiCode)); } 

更简单的方法:

将整型转换为字符,让int n为整数,然后:

 Char c=(char)n; System.out.print(c)//char c will store the converted value. 
  for (int i = 0; i < 256; i++) { System.out.println(i + " -> " + (char) i); } char lowercase = 'f'; int offset = (int) 'a' - (int) 'A'; char uppercase = (char) ((int) lowercase - offset); System.out.println("The uppercase letter is " + uppercase); String numberString = JOptionPane.showInputDialog(null, "Enter an ASCII code:", "ASCII conversion", JOptionPane.QUESTION_MESSAGE); int code = (int) numberString.charAt(0); System.out.println("The character for ASCII code " + code + " is " + (char) code); 

这是一个例子,它显示了通过将int转换为char,可以确定相应的字符为ASCII码。

 public class sample6 { public static void main(String... asf) { for(int i =0; i<256; i++) { System.out.println( i + ". " + (char)i); } } } 

上面的答案只能解决问题。 inheritance人您的回答:

Integer.decode(Character.toString(char c));