在Java中,如何将ASCII码(一个位于[0, 255]范围内的整数)转换为其对应的ASCII字符?
例如:
65 -> "A"
102 -> "f"
在Java中,如何将ASCII码(一个位于[0, 255]范围内的整数)转换为其对应的ASCII字符?
例如:
65 -> "A"
102 -> "f"
Character.toString(char)
),http://stackoverflow.com/a/6210938/923560提供了额外的解决方案。 - Abdull(char)
的指定有什么原因呢?换句话说,为什么我不能只写 Character.toString(i);
呢?(Java 新手) - Adam HughesCharacter.toString((char)(int)myInteger);
- gbmhunteri
值(0-255)将来自 ISO-8859-1 字符集。(问题提问者拒绝确定所需的“扩展 ASCII”[模糊术语],除非接受此答案。) - Tom BlodgetSystem.out.println((char)65);
(char)65
即可查找其对应的字符是什么。 - DavidSString.valueOf
(
Character.toChars(int)
)
Character.toChars
将返回一个带有单个字符的数组,当传递给String.valueOf
时,它将变成一个单字符字符串。int
到char
的强制转换的方法(即(char) i
)相比,使用Character.toChars
更可取,原因包括Character.toChars
将抛出IllegalArgumentException
,如果您未正确验证整数,则会吞下错误(根据缩小原始转换规范),可能会产生不符合预期的输出。toChars
是不必要和次优的。 - Stephen CCharacter.toString((char) i)
这样的写法比 String.valueOf(Character.toChars(i))
更快。在我的机器上对 1,000,000 个给定范围内的随机整数进行转换(为确保安全进行100次),平均时间分别为 153.07 纳秒和 862.39 纳秒。然而,在任何实际应用中,优化更加重要的部分通常会更多。安全、确定性的处理以及容易扩展到 [0,255] 范围之外(如果需要)所带来的价值超过了轻微的性能损失。 - zjsint number = 65;
char c = (char)number;
这是一个简单的解决方案
new String(new char[] { 65 })
一种更简单的方法:
将整数转换为字符,假设 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);
可以像这样从a到z迭代
int asciiForLowerA = 97;
int asciiForLowerZ = 122;
for(int asciiCode = asciiForLowerA; asciiCode <= asciiForLowerZ; asciiCode++){
search(sCurrentLine, searchKey + Character.toString ((char) asciiCode));
}
这是一个示例,它展示了通过将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);
}
}
}
仅限于解决问题的上面答案。这是您的答案:
Integer.decode(Character.toString(char c));