Подтвердить что ты не робот

Как получить Char из кода символа ASCII в С#

Im пытается проанализировать файл в С#, у которого есть массивы полей (строк), разделенные символьными кодами ascii 0, 1 и 2 (в Visual Basic 6 вы можете сгенерировать их с помощью Chr (0) или Chr (1) и т.д. )

Я знаю, что для символьного кода 0 в С# вы можете сделать следующее:

char separator = '\0';

Но это не работает для кодов символов 1 и 2?

4b9b3361

Ответ 1

Два варианта:

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

Ответ 2

Вы можете просто написать:

char c = (char) 2;

или

char c = Convert.ToChar(2);

или более сложный вариант только для кодировки ASCII

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

Ответ 3

Важно отметить, что в С# тип символа хранится как Unicode UTF-16.

От ASCII эквивалентного целого до char

char c = (char)88;

или же

char c = Convert.ToChar(88)

От символа к ASCII эквивалентному целому числу

int asciiCode = (int)'A';

Литерал должен быть эквивалентным ASCII. Например:

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

распечатает

X
3626

Расширенный ASCII варьируется от 0 до 255.

От литерала UTF-16 по умолчанию к символу

Использование символа

char c = 'X';

Использование кода Unicode

char c = '\u0058';

Использование шестнадцатеричного

char c = '\x0058';