Ответ 1
Два варианта:
char c1 = '\u0001';
char c1 = (char) 1;
Im пытается проанализировать файл в С#, у которого есть массивы полей (строк), разделенные символьными кодами ascii 0, 1 и 2 (в Visual Basic 6 вы можете сгенерировать их с помощью Chr (0) или Chr (1) и т.д. )
Я знаю, что для символьного кода 0 в С# вы можете сделать следующее:
char separator = '\0';
Но это не работает для кодов символов 1 и 2?
Два варианта:
char c1 = '\u0001';
char c1 = (char) 1;
Вы можете просто написать:
char c = (char) 2;
или
char c = Convert.ToChar(2);
или более сложный вариант только для кодировки ASCII
char[] characters = System.Text.Encoding.ASCII.GetChars(new byte[]{2});
char c = characters[0];
Важно отметить, что в С# тип символа хранится как Unicode UTF-16.
char c = (char)88;
или же
char c = Convert.ToChar(88)
int asciiCode = (int)'A';
Литерал должен быть эквивалентным ASCII. Например:
string str = "Xสีน้ำเงิน";
Console.WriteLine((int)str[0]);
Console.WriteLine((int)str[1]);
распечатает
X
3626
Расширенный ASCII варьируется от 0 до 255.
Использование символа
char c = 'X';
Использование кода Unicode
char c = '\u0058';
Использование шестнадцатеричного
char c = '\x0058';