web-dev-qa-db-fra.com

Comment obtenir un caractère d'un ASCII Code de caractère en c #

J'essaie d'analyser un fichier en c # comportant des tableaux de champs (chaînes) séparés par les codes de caractères ascii 0, 1 et 2 (dans Visual Basic 6, vous pouvez les générer à l'aide de Chr (0) ou Chr (1), etc.

Je sais que pour le code de caractère 0 en c #, vous pouvez effectuer les opérations suivantes:

char separator = '\0';

Mais cela ne fonctionne pas pour les codes de caractères 1 et 2?

63
Jimbo

Deux options:

char c1 = '\u0001';
char c1 = (char) 1;
127
Jon Skeet

Vous pouvez simplement écrire:

char c = (char) 2;

ou

char c = Convert.ToChar(2);

ou une option plus complexe pour le codage ASCII seulement

char[] characters = System.Text.Encoding.ASCII.GetChars(new byte[]{2});
char c = characters[0];
34
Pavel Morshenyuk

Il est important de noter qu'en C #, le type char est stocké sous le nom Unicode UTF-16.

De ASCII entier équivalent à char

char c = (char)88;

ou

char c = Convert.ToChar(88)

De caractère à ASCII entier équivalent

int asciiCode = (int)'A';

Le littéral doit être ASCII équivalent. Par exemple:

string str = "Xสีน้ำเงิน";
Console.WriteLine((int)str[0]);
Console.WriteLine((int)str[1]);

imprimera

X
3626

Le paramètre étendu ASCII va de 0 à 255.

Du littéral UTF-16 par défaut au caractère

Utiliser le symbole

char c = 'X';

Utiliser le code Unicode

char c = '\u0058';

Utilisation de l'hexadécimal

char c = '\x0058';
13
Carlos Caldas