Обозначение нулевой метки обратной косой черты '\ 0'

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

Ответы

Ответ 1

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

Ответ 2

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

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

48 65 6c 6c 6f 00

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

48 65 6c 6c 6f 00 00

Ответ 3

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