Как преобразовать код ASCII (0-255) в строку соответствующего символа?


У меня есть int int диапазон 0-255, и я хочу создать строку (длиной 1) так, чтобы значение ASCII этого одного символа было заданным целым числом.

есть ли простой способ сделать это в Java ?

пример:

65  -> "A"
102 -> "f"
10 104

10 ответов:

System.out.println((char)65); хотел напечатать "а"

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));
}

более простой способ сделать то же самое:

введите целое число в символ, пусть 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);
        }
    }
}

верхний ответ только вблизи решения проблемы. вот ваш ответ:

целое число.декодировать (символ.toString(char c));