Question Obtenir une valeur ASCII au mot d'entrée


J'ai un personnage:

 char ch='A'

Donne-moi la méthode qui convertit char to ASCII
ou moyen qui renvoie un ASCII NUMBER.

Sortie: 65


24
2017-09-16 11:24


origine


Réponses:


char ch='A';

System.out.println((int)ch);

41
2017-09-16 11:27



Il y a un piège majeur associé à l'obtention d'un code ASCII d'un char valeur.

Au sens propre, cela ne peut pas être fait.

C'est parce que char a une gamme de 65535 alors que ASCII est limité à 128. Il y a énormément de caractères sans représentation ASCII.

La bonne façon serait d'utiliser un Point de code Unicode qui est l'équivalent numérique standard d'un caractère dans l'univers Java.

Heureusement, Unicode est un sur-ensemble complet de ASCII. Cela signifie que les numéros Unicode pour les caractères latins sont égaux à leurs homologues ASCII. Par exemple, A en Unicode est U+0041 ou 65 en décimal. En revanche, ASCII n’a pas de cartographie pour 99% des caractères. Longue histoire courte:

char ch = 'A';
int cp = String.valueOf(ch).codePointAt(0);

En outre, un 16 bits primitif  char représente en fait un unité de code, pas un personnage et se limite donc à Plan multilingue de base, pour raisons historiques. Les entités au-delà exigent Personnage  objets qui traitent de la limitation de longueur de bit fixe.


15
2017-09-16 11:28



UNE char est en fait un type de données numérique - vous pouvez en ajouter un à un int, par exemple. C'est un non signé short (16 bits). À cet égard, vous pouvez simplement lancer la sortie sur, disons, un int pour obtenir la valeur numérique.

Cependant, vous devez réfléchir un peu plus à ce que vous demandez - tous les caractères ne sont pas des valeurs ASCII. Quelle production attendez-vous pour â, par exemple, ou ?

D'ailleurs, pourquoi tu veux ça? De nos jours, vous devriez penser à Unicode, pas à ASCII. Si vous faites savoir aux gens quel est votre objectif et comment vous comptez utiliser cette valeur renvoyée, nous pouvons presque certainement vous informer d'une meilleure façon d'y parvenir.


4
2017-09-16 11:28



char (avec un minuscule c) est un type numérique. Il contient déjà la valeur ascii du caractère. Il suffit de le lancer sur un entier pour l'afficher sous forme de valeur numérique plutôt que textuelle:

System.out.println("char " + ch + " has the following value : " + (int) ch);

2
2017-09-16 11:27



char a='a';
char A='A';
System.out.println((int)a +" "+(int)A);

Output:
97 65

2
2017-11-21 15:39



fais simplement

int a = ch

(aussi cela n'a rien à voir avec Android)


1
2017-09-16 11:27