У меня int int диапазон 0-255, и я хочу создать String (длины 1), так что значение ASCII этого одиночного символа является указанным целым числом.
Есть ли простой способ сделать это в Java?
пример:
65 -> "A"
102 -> "f"
У меня int int диапазон 0-255, и я хочу создать String (длины 1), так что значение ASCII этого одиночного символа является указанным целым числом.
Есть ли простой способ сделать это в Java?
пример:
65 -> "A"
102 -> "f"
System.out.println((char)65);
будет печатать "A"
String.valueOf
(
Character.toChars(int)
)
Предполагая, что целое число, как вы говорите, между 0 и 255, вы получите массив с одним символом из Character.toChars
, который станет односимвольной строкой при передаче в String.valueOf
.
Использование Character.toChars
предпочтительнее методов с участием от int
до char
(т.е. (char) i
) по ряду причин, в том числе Character.toChars
будет вызывать IllegalArgumentException
, если вы не подтвердите значение целого числа, в то время как приведение будет усвоить ошибку (за сужение примитивной спецификации конверсий), что потенциально даст результат, отличный от того, что вы намеревались.
int number = 65;
char c = (char)number;
это простое решение
new String(new char[] { 65 })
В результате вы получите строку длиной один, один символ которой имеет код (ASCII) 65. В Java символы являются числовыми типами данных.
Можно итерации от a до z, как это
int asciiForLowerA = 97;
int asciiForLowerZ = 122;
for(int asciiCode = asciiForLowerA; asciiCode <= asciiForLowerZ; asciiCode++){
search(sCurrentLine, searchKey + Character.toString ((char) asciiCode));
}
Более простой способ сделать то же самое:
Введите целочисленное значение cast, а 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);
Почему бы не упростить его до метода, который возвращает символ ascii?
public char toAscii (int input) {
return (char)input;
}
Это пример, который показывает, что, преобразуя 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);
}
}
}
верхний ответ только при решении проблемы. heres ваш ответ:
Integer.decode(Character.toString(char c));