如何将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
比涉及从int
到char
(即(char) i
) char
转换的方法要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));