Для добавления дополнительной информации.
Экранирование - это способ добавить дополнительную информацию в последовательность символов без введения дополнительных символов. Для этого, по крайней мере, один символ должен функционировать как символ «escape». Это означает, что исходная роль потеряна и должна быть добавлена с помощью escape-последовательности.
Пример:
У нас есть язык с 3 символами: a, b и c. В котором символы имеют следующие функции:
Language 1
a has the function A
b has the function B
c has the function C
Теперь нам нужно ввести функции D и E, но мы не можем добавлять дополнительные символы.
Таким образом, мы можем сделать это с помощью escape-символа:
Language 2
a, is now the escape symbol.
aa has the function A
ab had the function D
ac has the function E
b has the function B
c has the function C
Последовательность aabcabac, если интерпретируется с использованием языка 1, читается как AABCABAC. Но интерпретируется с использованием языка 2 читает ABCDE.
Проблема в том, что в большинстве случаев вы не можете определить язык, используемый по символам. Эту метаинформацию необходимо предоставить до обработки данных.
Суть в том, что у вас нет безопасного способа определить, достаточно ли экранирована строка.