145 votes

Comment convertir le code ASCII (0-255) en une chaîne du caractère associé?

J'ai un int entier compris entre 0 et 255, et je veux créer une chaîne (de longueur 1) de sorte que la valeur ASCII de ce caractère unique soit l'entier spécifié.

Existe-t-il un moyen simple de faire cela en Java?

Exemple:

 65  -> "A"
102 -> "f"
 

268voto

65voto

RylandAlmanza Points 669

System.out.println((char)65); afficherait "A"

33voto

zjs Points 198

String.valueOf(Character.toChars(int))

En supposant que l'entier est, comme vous le dites, entre 0 et 255, vous obtiendrez un tableau avec un seul caractère de retour à partir de Character.toChars, qui deviendra une simple chaîne de caractères lorsqu'il est passé à l' String.valueOf.

À l'aide de Character.toChars est préférable de méthodes impliquant une fonte à partir de int de char (c - (char) i) pour un nombre de raisons, notamment parce qu' Character.toChars va jeter un IllegalArgumentException si vous ne parvenez pas à valider correctement l'entier tandis que le casting va avaler l'erreur (par le rétrécissement primitive conversions de spécification), qui pourrait donner une sortie autre que ce que vous souhaitiez.

7voto

Paul Cager Points 1577

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

Vous allez vous retrouver avec une chaîne de longueur, dont le caractère unique est l' (ASCII) code de 65 ans. En Java, les caractères sont les types de données numériques.

1voto

Tez Kurmala Points 1

On peut itérer de a à z comme ceci

int asciiForLowerA = 97;
int asciiForLowerZ = 122;
for(int asciiCode = asciiForLowerA; asciiCode <= asciiForLowerZ; asciiCode++){
    search(sCurrentLine, searchKey + Character.toString ((char) asciiCode));
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X