Ответ 1
Это нулевой символ; Дополнительная информация в этой википедии статья.
Я видел, что '\0'
используется как разделитель в смешанных двоичных файлах (строки UTF8 + двоичные данные). Может ли кто-нибудь объяснить, что означает '\0'
или указать на хорошее место для изучения?
Это нулевой символ; Дополнительная информация в этой википедии статья.
Двухсимвольное представление \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
\0
является сокращением для \000
, который является восьмеричным escape-кодом. В общем, вы можете сократить любой восьмеричный побег, за которым не следует восьмеричная цифра. Это происходит из исходных C-escape-последовательностей (\n \r \t \f \v \b \000
, где последнее является символьным значением в восьмеричной нотации, ANSI добавил некоторые, а \v
несколько редок в эти дни, и многие другие современные языки не реализуют его).