Convertir un caractère en valeur numérique ASCII en Java

J’ai un Ssortingng name = "admin";
alors je fais Ssortingng char = name.subssortingng(0,1); //char="a" Ssortingng char = name.subssortingng(0,1); //char="a"

Je veux convertir le caractère en ASCII (97), comment puis-je le faire en Java?

Très simple. Il suffit de lancer votre personnage comme un int .

 char character = 'a'; int ascii = (int) character; 

Dans votre cas, vous devez d’abord obtenir le caractère spécifique de la chaîne, puis le lancer.

 char character = name.charAt(0); // This gives the character 'a' int ascii = (int) character; // ascii is now 97. 

Bien que le cast ne soit pas requirejs explicitement, sa lisibilité est améliorée.

 int ascii = character; // Even this will do the sortingck. 

juste une approche différente

  Ssortingng s = "admin"; byte[] bytes = s.getBytes("US-ASCII"); 

bytes[0] représenteront les ascii d’un .. et donc les autres caractères du tableau entier.

Au lieu de cela:

 Ssortingng char = name.subssortingng(0,1); //char="a" 

Vous devez utiliser la charAt() .

 char c = name.charAt(0); // c='a' int ascii = (int)c; 

Si vous voulez convertir la chaîne entière en valeurs ASCII concaténées, vous pouvez utiliser ceci –

  Ssortingng str = "abc"; // or anything else SsortingngBuilder sb = new SsortingngBuilder(); for (char c : str.toCharArray()) sb.append((int)c); BigInteger mInt = new BigInteger(sb.toSsortingng()); System.out.println(mInt); 

dans lequel vous obtiendrez 979899 en sortie.

Crédit à cela .

Je viens de le copier ici pour que cela convienne aux autres.

Les nombreuses réponses censées montrer comment faire sont fausses car les caractères Java ne sont pas des caractères ASCII. Java utilise un encodage multi-octets de caractères Unicode. Le jeu de caractères Unicode est un super ensemble de caractères ASCII. Il peut donc y avoir des caractères dans une chaîne Java qui n’appartiennent pas à ASCII. De tels caractères n’ont pas de valeur numérique ASCII. Il est donc impossible de savoir comment obtenir la valeur numérique ASCII d’un caractère Java.

Mais pourquoi voulez-vous faire ça de toute façon? Qu’allez-vous faire avec la valeur?

Si vous souhaitez que la valeur numérique vous permette de convertir la chaîne Java en chaîne ASCII, la véritable question est de savoir comment encoder une chaîne Java en ASCII. Pour cela, utilisez l’object StandardCharsets.US_ASCII.

Convertissez le caractère en int.

  Ssortingng name = "admin"; int ascii = name.toCharArray()[0]; 

Aussi :

 int ascii = name.charAt(0); 

C’est simple, obtenez le caractère que vous voulez et convertissez-le en int.

 Ssortingng name = "admin"; int ascii = name.charAt(0); 

Je sais que cela a déjà été répondu sous plusieurs formes, mais voici mon bout de code avec un regard sur tous les personnages.

Voici le code, commencé avec la classe

 public class CheckChValue { // Class name public static void main(Ssortingng[] args) { // class main Ssortingng name = "admin"; // Ssortingng to check it's value int nameLenght = name.length(); // length of the ssortingng used for the loop for(int i = 0; i < nameLenght ; i++){ // while counting characters if less than the length add one char character = name.charAt(i); // start on the first character int ascii = (int) character; //convert the first character System.out.println(character+" = "+ ascii); // print the character and it's value in ascii } } 

}

 Ssortingng str = "abc"; // or anything else // Stores ssortingngs of integer representations in sequence SsortingngBuilder sb = new SsortingngBuilder(); for (char c : str.toCharArray()) sb.append((int)c); // store ascii integer ssortingng array in large integer BigInteger mInt = new BigInteger(sb.toSsortingng()); System.out.println(mInt); 
 Ssortingng name = "admin"; char[] ch = name.toSsortingng().toCharArray(); //it will read and store each character of Ssortingng and store into char[]. for(int i=0; i"+ (int)ch[i]); //this will print both character and its value } 
 public class Ascii { public static void main(Ssortingng [] args){ Ssortingng a=args[0]; char [] z=a.toCharArray(); for(int i=0;i 

Comme @Raedwald l’a fait remarquer, le format Unicode de Java ne prend pas en charge tous les caractères pour obtenir une valeur ASCII. La manière correcte (Java 1.7+) est la suivante:

 byte[] asciiBytes = "MyAscii".getBytes(StandardCharsets.US_ASCII); Ssortingng asciiSsortingng = new Ssortingng(asciiBytes); //asciiSsortingng = Arrays.toSsortingng(asciiBytes) 

Un moyen simple pour cela est:

  int character = 'a'; 

Si vous imprimez “personnage”, vous obtenez 97.

Ou vous pouvez utiliser l’API Stream pour 1 caractère ou une chaîne commençant dans Java 1.8:

 public class ASCIIConversion { public static void main(Ssortingng[] args) { Ssortingng text = "adskjfhqewrilfgherqifvehwqfjklsdbnf"; text.chars() .forEach(System.out::println); } } 

Il suffit de lancer le caractère dans un int.

 char character = 'a'; int number = (int) character; 

La valeur du number sera 97.

Vous pouvez vérifier le numéro ASCII avec ce code.

 Ssortingng name = "admin"; char a1 = a.charAt(0); int a2 = a1; System.out.println("The number is : "+a2); // the value is 97 

Si je me trompe, excuses-moi.

Si vous voulez la valeur ASCII de tous les caractères d’une chaîne. Vous pouvez utiliser ceci:

 Ssortingng a ="asdasd"; int count =0; for(int i : a.toCharArray()) count+=i; 

et si vous voulez un ASCII d’un seul caractère dans une chaîne, vous pouvez aller pour:

 (int)a.charAt(index); 

J’essayais la même chose, mais la solution la meilleure et la plus simple serait d’utiliser charAt et pour accéder aux index, nous devrions créer un tableau entier de taille [128].

 Ssortingng name = "admin"; int ascii = name.charAt(0); int[] letters = new int[128]; //this will allocate space with 128byte size. letters[ascii]++; //increments the value of 97 to 1; System.out.println("Output:" + ascii); //Outputs 97 System.out.println("Output:" + letters[ascii]); //Outputs 1 if you debug you'll see 97th index value will be 1. 

Si vous souhaitez afficher des valeurs ascii de chaîne complète, vous devez le faire.

 Ssortingng name = "admin"; char[] val = name.toCharArray(); for(char b: val) { int c = b; System.out.println("Ascii value of " + b + " is: " + c); } 

Votre sortie, dans ce cas, sera: La valeur Ascii de a est la suivante: 97 La valeur Ascii de d est: 100 La valeur Ascii de m est: 109 La valeur Ascii de i est: 105 La valeur Ascii de n est: 110

La manière simple de le faire est:

Pour toute la chaîne en ASCII:


 public class ConvertToAscii{ public static void main(Ssortingng args[]){ Ssortingng abc = "admin"; int []arr = new int[abc.length()]; System.out.println("THe asscii value of each character is: "); for(int i=0;i 

La sortie est la suivante:

THe asscii value of each character is: 97 100 109 105 110


Ici, abc.charAt(i) donne le caractère unique du tableau Ssortingng: lorsque nous affectons chaque caractère à un type entier, le compilateur saisit la conversion comme suit:

arr[i] = (int) character // Here, every individual character is coverted in ascii value

Mais pour un seul personnage:

Ssortingng name = admin; asciiValue = (int) name.charAt(0);// for character 'a' System.out.println(asciiValue);