Нулевой символ, также известный как Пустой символ, был разработан для использования в компьютерных терминалах, принтерах, системах обработки текста и телекоммуникационном оборудовании, обозначая пустую или недействительную позицию в потоке данных. Это самый первый символ Юникода и ASCII, занимающий нулевую позицию. Символ Null имеет ряд применений, таких как обозначение конца строк или блоков данных, заполнение пространства между элементами данных, предотвращение обработки данных после определенной точки и многое другое. В контексте программирования и обработки текстовых данных, нулевой символ может использоваться как маркер конца строки или массива символов, особенно в языках программирования, таких как C и C++. Это так называемые C-строки (читается «Си-строки», название происходит от языка Си, где используются такие строки), другие названия: Null-терминированная строка или ASCIZ-строка. При таком подходе, код, работающий со строкой, изначально не знает её длины и обрабатывает символы последовательно, пока не встретит нулевой. [[[code:c /* Вывод строки */ i = 0; // начать с начала строки while (s[i] != 0) { // работать, пока текущий символ не \0 echo s[i]; // вывести очередной символ i++; // перейти к следующему } ]]] Из минусов такого подхода: [*] Заранее неизвестна длина строки; [*] Строка не может содержать непосредственно символ \0; [*] Если забыть поставить в конце \0 или случайно удалить его, код пойдёт работать дальше с непредвиденными последствиями. В случае использования многобайтовых кодировок фиксированной ширины, нулевой символ также должен занимать положенное количество байт. Например, в UCS-2 — два нулевых байта. Альтернативный подход при организации строк — хранить длину строки в отдельной переменной. Однако, полное игнорирование данного символа иногда может приводить к неприятным последствиями. Например, некоторые старые браузеры расценивали строку типа [code <\0script>] как [code