Voulez-vous dire que vous ne voulez que les caractères alphabétiques et non les chiffres? Vous voulez donc de la «qualité»? Parce qu'alors, parler d'ASCII n'a pas de sens.
Lars Truijens
Je veux Ascii de chaque caractère de cette chaîne, Ascii de chiffres ainsi que ascii du mot «qualité»
RBS
Ce que vous voulez dire, c'est que vous voulez la valeur numérique ASCII de chaque caractère de la chaîne, en supposant que la chaîne entière puisse être représentée en ASCII. Votre libellé actuel est très déroutant.
Cela me montre System.Byte []. Vous devez parcourir les caractères du mot. Je ne sais pas comment vous l'avez fait fonctionner. J'ai aidé l'OP, ce qui compte.
NikosV
Remarque: Encoding.ASCIIest configuré pour émettre l'unité de code ASCII pour le caractère de remplacement ('?') Pour les caractères qui ne sont pas dans le jeu de caractères ASCII. D'autres options, y compris la levée d'une exception, sont disponibles dans la Encodingclasse. Et, bien sûr, d'autres encodages de caractères - en particulier UTF-8 - sont également disponibles; Il faut se demander si c'est l'ASCII qui est réellement recherché.
Tom Blodget du
37
string s ="9quali52ty3";foreach(char c in s){Console.WriteLine((int)c);}
Voulez-vous dire que vous ne voulez que les caractères alphabétiques et non les chiffres? Vous voulez donc de la «qualité»? Vous pouvez utiliser Char.IsLetter ou Char.IsDigit pour les filtrer un par un.
string s ="9quali52ty3";StringBuilder result =newStringBuilder();foreach(char c in s){if(Char.IsLetter(c))
result.Add(c);}Console.WriteLine(result);// quality
stringvalue="mahesh";// Convert the string into a byte[].byte[] asciiBytes =Encoding.ASCII.GetBytes(value);for(int i =0; i <value.Length; i++){Console.WriteLine(value.Substring(i,1)+" as ASCII value of: "+ asciiBytes[i]);}
Ce programme acceptera plus d'un caractère et affichera leur valeur ASCII:
using System;class ASCII
{publicstaticvoidMain(string[] args){string s;Console.WriteLine(" Enter your sentence: ");
s =Console.ReadLine();foreach(char c in s){Console.WriteLine((int)c);}}}
Les premiers répondants ont répondu à la question mais n'ont pas fourni les informations auxquelles le titre m'avait amené à m'attendre. J'avais une méthode qui renvoyait une chaîne d'un caractère mais je voulais un caractère que je pourrais convertir en hexadécimal. Le code suivant montre ce que je pensais trouver dans l'espoir qu'il soit utile aux autres.
string s ="\ta£\x0394\x221A";// tab; lower case a; pound sign; Greek delta;// square root Debug.Print(s);char c = s[0];int i =(int)c;string x = i.ToString("X");
c = s[1];
i =(int)c;
x = i.ToString("X");Debug.Print(c.ToString()+" "+ i.ToString()+" "+ x);
c = s[2];
i =(int)c;
x = i.ToString("X");Debug.Print(c.ToString()+" "+ i.ToString()+" "+ x);
c = s[3];
i =(int)c;
x = i.ToString("X");Debug.Print(c.ToString()+" "+ i.ToString()+" "+ x);
c = s[4];
i =(int)c;
x = i.ToString("X");Debug.Print(c.ToString()+" "+ i.ToString()+" "+ x);
Le code ci-dessus affiche les éléments suivants dans la fenêtre immédiate:
//Create a character to compare BOMchar byteOrderMark =(char)65279;if(sourceString.ToCharArray()[0].Equals(byteOrderMark)){
targetString = sourceString.Remove(0,1);}
Je veux obtenir la valeur ASCII des caractères dans une chaîne en C #.
Tout le monde confère la réponse dans cette structure. Si ma chaîne a la valeur "9quali52ty3", je veux un tableau avec les valeurs ASCII de chacun des 11 caractères.
mais dans la console, nous travaillons la franchise donc nous obtenons un caractère et imprimons le code ASCII si je me trompe, veuillez donc corriger ma réponse.
Cette réponse pourrait nécessiter un peu plus d'explications. Si vous avez un collègue qui parle plus couramment l'anglais, avec respect, vous devriez demander de l'aide.
O. Jones
mon explication est très simple car mon code est très simple sans aucune variable mais utilise un concept simple comment imprimer une valeur ASCII individuelle simple obtenir un caractère et convertir le caractère en valeur entière, alors s'il vous plaît, implémentez ceci et si j'ai une erreur dans mon explication, alors merci de corriger ceci merci
MA Nadeem
0
Pourquoi pas la méthode facile à l'ancienne?
publicint[]ToASCII(string s){char c;int[] cByte =newint[s.Length];/ the ASCII stringfor(int i =0; i < s.Length; i++){
c = s[i];// get a character from the string s
cByte[i]=Convert.ToInt16(c);// and convert it to ASCII}return cByte;}
string nomFile ="9quali52ty3";byte[] nomBytes =Encoding.ASCII.GetBytes(nomFile);string name ="";foreach(byte he in nomBytes){
name += he.ToString("X02");}`Console.WriteLine(name);
Bien que ce code puisse résoudre la question, inclure une explication sur comment et pourquoi cela résout le problème aiderait vraiment à améliorer la qualité de votre message et entraînerait probablement plus de votes à la hausse. N'oubliez pas que vous répondez à la question des lecteurs à l'avenir, pas seulement à la personne qui la pose maintenant. Veuillez modifier votre réponse pour ajouter des explications et donner une indication des limites et des hypothèses applicables.
Dharman
Donne une erreur de compilation: "Caractère inattendu". Les deux `après le ToString ne devraient probablement pas être là.
Réponses:
Depuis MSDN
Vous avez maintenant un tableau de la valeur ASCII des octets. J'ai obtenu ce qui suit:
57113117 97108105 53 50116121 51
la source
Encoding.ASCII
est configuré pour émettre l'unité de code ASCII pour le caractère de remplacement ('?') Pour les caractères qui ne sont pas dans le jeu de caractères ASCII. D'autres options, y compris la levée d'une exception, sont disponibles dans laEncoding
classe. Et, bien sûr, d'autres encodages de caractères - en particulier UTF-8 - sont également disponibles; Il faut se demander si c'est l'ASCII qui est réellement recherché.la source
Cela devrait fonctionner:
la source
Voulez-vous dire que vous ne voulez que les caractères alphabétiques et non les chiffres? Vous voulez donc de la «qualité»? Vous pouvez utiliser Char.IsLetter ou Char.IsDigit pour les filtrer un par un.
la source
la source
Si je me souviens bien, la valeur ASCII est le nombre des sept bits inférieurs du nombre Unicode .
la source
Si vous voulez le charcode pour chaque caractère de la chaîne, vous pouvez faire quelque chose comme ceci:
la source
la source
Ce programme acceptera plus d'un caractère et affichera leur valeur ASCII:
la source
Les premiers répondants ont répondu à la question mais n'ont pas fourni les informations auxquelles le titre m'avait amené à m'attendre. J'avais une méthode qui renvoyait une chaîne d'un caractère mais je voulais un caractère que je pourrais convertir en hexadécimal. Le code suivant montre ce que je pensais trouver dans l'espoir qu'il soit utile aux autres.
Le code ci-dessus affiche les éléments suivants dans la fenêtre immédiate:
un 97 61
163 £ A3
Δ 916 394
√ 8730 221A
la source
Vous pouvez supprimer la nomenclature en utilisant:
la source
Ou dans LINQ:
la source
Je veux obtenir la valeur ASCII des caractères dans une chaîne en C #.
Tout le monde confère la réponse dans cette structure. Si ma chaîne a la valeur "9quali52ty3", je veux un tableau avec les valeurs ASCII de chacun des 11 caractères.
mais dans la console, nous travaillons la franchise donc nous obtenons un caractère et imprimons le code ASCII si je me trompe, veuillez donc corriger ma réponse.
la source
Pourquoi pas la méthode facile à l'ancienne?
la source
// c'est `mieux maintenant;)
la source