J'ai String name = "admin";
alors je fais String charValue = name.substring(0,1); //charValue="a"
Je veux convertir le charValue
à sa valeur ASCII (97), comment puis-je faire cela en java ?
J'ai String name = "admin";
alors je fais String charValue = name.substring(0,1); //charValue="a"
Je veux convertir le charValue
à sa valeur ASCII (97), comment puis-je faire cela en java ?
Très simple. Il suffit de lancer votre char
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 de caractères, puis le convertir.
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 requis explicitement, il améliore la lisibilité.
int ascii = character; // Even this will do the trick.
Les différentes réponses qui prétendent montrer comment faire sont toutes fausses car les caractères Java ne sont pas des caractères ASCII. Java utilise un codage multi-octet des caractères Unicode. Le jeu de caractères Unicode est un super jeu de caractères ASCII. Il peut donc y avoir des caractères dans une chaîne Java qui n'appartiennent pas à l'ASCII. Ces caractères n'ont pas de valeur numérique ASCII. Il est donc impossible de demander comment obtenir la valeur numérique ASCII d'un caractère Java.
Mais pourquoi Voulez-vous quand même le faire ? Qu'allez-vous faire de cette valeur ?
Si vous souhaitez obtenir la valeur numérique afin de pouvoir convertir la chaîne Java en chaîne ASCII, l'option réel La question est "comment encoder une chaîne Java en ASCII". Pour cela, utilisez l'objet StandardCharsets.US_ASCII
.
Si vous vouliez convertir la chaîne entière en valeurs ASCII concaténées, vous pouvez utiliser ce code -
String str = "abc"; // or anything else
StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray())
sb.append((int)c);
BigInteger mInt = new BigInteger(sb.toString());
System.out.println(mInt);
où vous obtiendrez 979899 comme sortie.
Crédit à este .
Je l'ai juste copié ici pour que ce soit pratique pour les autres.
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.
2 votes
JW va
String char
jamais compilé. Peut-être que vous voulez renommer la variable enString ch
0 votes
ASCII ? Êtes-vous sûr que c'est ce que vous voulez ? Java utilise le codage de caractères UTF-16 du jeu de caractères Unicode (tout comme JavaScript, .NET, VBA, VB4/5/6, NCHAR, NVARCHAR, NTFS, Windows API, ). Les réponses se répartissent en plusieurs catégories : réponse explicite sur l'ASCII, réponse sur l'UTF-16 et réponse sur l'ASCII par le biais de plusieurs raccourcis à partir de l'UTF-16 (et certaines sont tout simplement fausses).