web-dev-qa-db-fra.com

Comment convertir une chaîne en ASCII

Comment convertir chaque lettre d'une chaîne en sa valeur de caractère ASCII?

15
Student

Pour n'importe quelle chaîne, essayez ceci:

string s = Console.ReadLine();
foreach( char c in s)
{
    Console.WriteLine(System.Convert.ToInt32(c));
}
Console.ReadKey();
15
Student

.NET stocke toutes les chaînes sous forme d'une séquence d'unités de code UTF-16. (Ceci est assez proche des "caractères Unicode" pour la plupart des buts.)

Heureusement pour vous, Unicode a été conçu de telle sorte que les valeurs ASCII correspondent au même nombre dans Unicode. Ainsi, après avoir converti chaque caractère en entier, vous pouvez simplement vérifier s'il se trouve dans la plage ASCII. Notez que vous pouvez utiliser une conversion implicite de char à int - il n'est pas nécessaire d'appeler une méthode de conversion:

string text = "Here's some text including a \u00ff non-ASCII character";
foreach (char c in text)
{
    int unicode = c;
    Console.WriteLine(unicode < 128 ? "ASCII: {0}" : "Non-ASCII: {0}", unicode);
}
21
Jon Skeet

C'est assez simple:

string s = "ABCD";
byte[] bytes = Encoding.ASCII.GetBytes(s);
int result = BitConverter.ToInt32(bytes, 0);

Vous avez maintenant un tableau pour tous les octets et le codage int est result. Si vous devez revenir en arrière, vous pouvez aller en tant que:

int i = result;
byte[] bytes2 = BitConverter.GetBytes(i);
string s2 = Encoding.ASCII.GetString(bytes);
10
HMagdy

Essayez Linq:

Result = string.Join("", input.ToCharArray().Where(x=> ((int)x) < 127));

Ceci filtrera tous les caractères non ascii. Maintenant, si vous voulez un équivalent, essayez ce qui suit:

Result = string.Join("", System.Text.Encoding.ASCII.GetChars(System.Text.Encoding.ASCII.GetBytes(input.ToCharArray())));
2
user2956314

Je pense que ce code peut vous aider:

string str = char.ConvertFromUtf32(65)
0
r12

Utilisez Convert.ToInt32 () pour la conversion. Vous pouvez consulter Comment convertir une chaîne en ASCII valeur en C # et ASCII valeurs.

0
Akshatha