description Wie man ein Zeichen aus einem ASCII-Zeichencode in c#bekommt




meta title länge (3)

Sie können einfach schreiben:

char c = (char) 2;

oder

char c = Convert.ToChar(2);

oder komplexere Option nur für die ASCII-Codierung

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

Ich versuche, eine Datei in c # zu analysieren, die Feld (String) -Arrays getrennt durch ASCII-Zeichencodes 0, 1 und 2 hat (in Visual Basic 6 können Sie diese mit Chr (0) oder Chr (1) usw. generieren)

Ich weiß, dass Sie für den Zeichencode 0 in c # Folgendes tun können:

char separator = '\0';

Aber das funktioniert nicht für die Zeichencodes 1 und 2?


Answer #1

Zwei Optionen:

char c1 = '\u0001';
char c1 = (char) 1;

Answer #2

Es ist wichtig zu beachten, dass in C # der Zeichentyp als Unicode UTF-16 gespeichert ist.

Von ASCII äquivalent ganze Zahl zu char

char c = (char)88;

oder

char c = Convert.ToChar(88)

Von char zu ASCII äquivalent ganze Zahl

int asciiCode = (int)'A';

Das Literal muss ASCII-äquivalent sein. Zum Beispiel:

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

wird gedruckt

X 3626

Erweitertes ASCII reicht von 0 bis 255.

Vom Standard-UTF-16-Literal zum Zeichen

Verwenden des Symbols

char c = 'X';

Verwenden des Unicode-Codes

char c = '\u0058';

Verwenden des Hexadezimals

char c = '\x0058';





escaping