Книга: C# для профессионалов. Том II
Последовательности кодирования
Последовательности кодирования
C# использует тот же метод кодирования специальных символов, что и C++,— с помощью обратной наклонной черты. Вот список кодирования:
Последовательность | Имя символа | Кодировка Unicode |
---|---|---|
' |
Одиночная кавычка | 0x0027 |
" |
Двойная кавычка | 0x0022 |
|
Обратный слэш | 0х005C |
Null | 0x0000 |
|
a |
Сигнал | 0x0007 |
b | Возврат на одну позицию | 0x0008 |
f |
Перевод страницы | 0x000C |
n | Новая строка | 0x000A |
r |
Возврат каретки | 0x000D |
t |
Горизонтальная табуляция | 0x0009 |
v |
Вертикальная табуляция | 0x000B |
Это по сути означает, что в C# используются те же коды, что и в C++, за исключением того, что C# не распознает ?
.
Имеются два отличия между символами кодирования в C++ и C#:
? Последовательность кодирования распознается в C#. Однако она не используется как терминатор строки в C# и поэтому может встраиваться в строку. Строки C# работают, сохраняя отдельно свои длины, поэтому никакой символ не используется в качестве терминатора. Поэтому строки C# в действительности могут содержать любой символ Unicode.
? C# имеет дополнительную последовательность кодирования uxxxx
(или эквивалентно Uxxxx
), где xxxx
представляет 4-символьное шестнадцатеричное число, uxxxx
представляет символ Unicode xxxx
, например, u0065
представляет 'е'
. Однако в отличие от других последовательностей кодирования uxxxx
может использоваться в именах переменных, а также в символьных и строковых константах. Например, следующий код допустим в C#.
int Ru0065sult; // тот же результат, что и int Result;
Result = 10;
Согласно документации последовательность кодирования не зависит от регистра символов: uxxxx
и Uxxxx
будут эквивалентны. Однако при написании этой книги обнаружилось, что только версия нижнего регистра успешно компилируется текущей версией .NET.
C# имеет также альтернативный метод представления строк, который более удобен для строк, содержащих специальные символы: размещение символа @
в начале строки избавляет все символы от кодирования. Эти строки называются дословными строками. Например, чтобы представить строку C:BookChapter2
можно написать либо "C:BookChaptеr2"
, либо @"C:BookChapter2"
. Интересно, что это означает также, что можно включать символы возврата каретки в дословные строки без кодирования:
string Message = @"Это будет на первой строке,
а это будет на следующей строке"
- 16.13.5 Метод кодирования указанными печатными символами
- Стандарты кодирования
- Диаграммы последовательности действий
- Три способа кодирования звука
- Форматы файлов и форматы кодирования
- Последовательности команд
- 10.4.3. Диаграммы последовательности
- 4.23.3. Запуск измерительной последовательности от внешнего сигнала
- Диаграммы последовательности действий и граничные классы
- Обеспечение кодирования данных
- Числовые последовательности
- 1.6.14. Правило генерации: избегайте кодирования вручную; если есть возможность, пишите программы для создания программ