it-swarm.com.de

Wie konvertieren? ASCII Code (0-255) in einen String des zugehörigen Zeichens?

Ich habe ein int int im Bereich 0-255, und ich möchte einen String (mit Länge 1) erstellen, so dass der ASCII - Wert dieses einzelnen Zeichens die angegebene Ganzzahl ist.

Gibt es eine einfache Möglichkeit, dies in Java zu tun?

beispiel: 

65  -> "A"
102 -> "f"
109
Belgi

System.out.println((char)65); Würde "A" drucken

51
RylandAlmanza

String.valueOf(Character.toChars(int))

Angenommen, die Ganzzahl liegt, wie Sie sagen, zwischen 0 und 255, erhalten Sie ein Array mit einem einzelnen Zeichen von Character.toChars zurück, das bei der Übergabe an String.valueOf zu einer Zeichenfolge mit nur einem Zeichen wird.

Die Verwendung von Character.toChars ist aus einer Reihe von Gründen den Methoden vorzuziehen, die eine Umwandlung von int in char (dh (char) i) beinhalten, einschließlich der Tatsache, dass Character.toChars eine IllegalArgumentException auslöst, wenn Sie die Ganzzahl nicht richtig validieren, während die Umwandlung den Fehler verschluckt (per Einschränkung der primitiven Konvertierungsspezifikation ), wodurch möglicherweise eine andere als die von Ihnen beabsichtigte Ausgabe erzielt wird.

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

es ist eine einfache Lösung

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

Sie erhalten am Ende eine Zeichenfolge der Länge eins, deren Einzelzeichen den (ASCII-) Code 65 hat. In Java sind Zeichen numerische Datentypen.

4
Paul Cager

Man kann von a bis z so iterieren

int asciiForLowerA = 97;
int asciiForLowerZ = 122;
for(int asciiCode = asciiForLowerA; asciiCode <= asciiForLowerZ; asciiCode++){
    search(sCurrentLine, searchKey + Character.toString ((char) asciiCode));
}
1
Tez Kurmala
    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);
0

Ein einfacher Weg, das Gleiche zu tun:

Geben Sie die Ganzzahl in Zeichen um. Geben Sie int n die Ganzzahl.

Char c=(char)n;
System.out.print(c)//char c will store the converted value.
0
Entriple Aardee

Warum nicht zu einer Methode vereinfachen, die das ASCII-Zeichen zurückgibt?

public char toAscii (int input) {
    return (char)input;
}
0
Raphael Spoerri