Слеш ноль разделитель ''

Я видел '' для использования в качестве разделителя в смешанных двоичных файлах (строки UTF8 + двоичные данные). Может ли кто-нибудь объяснить, что '' означает или указывает на хорошее место для учебы?

3 ответов


Это нулевой символ; больше информации в этой Википедии статьи.


двух символов представление используется в исходном коде C для представления символа NUL, который является (одиночным) символом со значением ASCII 0.

символ NUL используется в строках символов стиля C, чтобы указать, где находится конец строки. Например, строка "Hello" кодируется как шестнадцатеричные байты:

48 65 6c 6c 6f 00

в этом случае компилятор C автоматически добавляет 00 байт в конце любой строки с двойными кавычками. Если вы написали константу as "Hello", тогда компилятор C будет генерировать:

48 65 6c 6c 6f 00 00

Это сокращение от 0 который является восьмеричным символом escape. В общем, вы можете сократить любой восьмеричный побег, за которым не следует восьмая цифра. Это происходит от исходных escape-последовательностей C (\n \r \t \f \v \b 0 где последний является значением символа в восьмеричной нотации; ANSI добавил некоторые и \v несколько редко в наши дни, и многие другие современные языки не реализуют его).