Некоторые языки программирования позволяют хранить пустые строки в памяти, потому что пустая строка представляет собой полноценный объект, но его содержимое отсутствует. 4 Это позволяет без проблем вызывать методы у такой строки, например, в Java её длина корректно вернёт 0. 4
Например, в Java объект String имеет атрибут length, который хранится в объекте Java как int. 2 Пустая строка имеет длину 0, и, следовательно, значение int равно 0. 2 В реальных реализациях объект String внутренне имеет ссылку на объект char[] (массив символов). 2 Для пустой строки эта ссылка может быть нулевой. 2
Также в объектно-ориентированных языках применяется хранение записи с длиной строки и ссылкой (или указателем) на массив символов. 13 В отличие от нуль-терминированных строк, они могут хранить в себе нуль-символы без искажений и специального кодирования. 13