Кодирование такое же, как Escape? - PullRequest
8 голосов
/ 04 декабря 2010

Меня интересует теория о том, является ли кодирование таким же, как Escapeing?Согласно Википедии

escape-символ - это символ, который вызывает альтернативную интерпретацию последующих символов в последовательности символов.

В настоящее время я считаю, что они разные.Экранирование - это когда вы размещаете экранирующий символ перед метасимволом (ами), чтобы пометить его / их так, чтобы они вели себя не так, как они обычно.в другую форму, и при желании прочитать исходный контент, он декодируется обратно в исходную форму.

Ответы [ 3 ]

4 голосов
/ 04 декабря 2010

Они разные, и я думаю, что вы правильно понимаете различие.

Кодирование - это когда вы преобразуете между логическим представлением текста («логическая строка», например, Unicode) в хорошоопределенная последовательность двоичных цифр («физическая строка», например, ASCII, UTF-8, UTF-16).Экранирование - это специальный символ (обычно обратная косая черта: '\'), который инициирует различную интерпретацию символа (ов) после escape-символа;экранирование необходимо, когда вам необходимо кодировать большее количество символов в меньшее количество отдельных (и конечных) битовых последовательностей.

3 голосов
/ 04 декабря 2010

Экранирование - это подмножество кодирования: вы кодируете только определенные символы, добавляя префикс специального символа вместо передачи (обычно всех или многих) символов в другое представление.

Экранирующие примеры:

  • В операторе SQL: ... WHERE name = 'O \' Reilly '
  • В оболочке: ls Thirty\ Seconds\ *
  • Многие языки программирования: "\"Test\" строка (или """Test""")

Примеры кодирования:

  • Замена < на &lt; при выводе пользовательского ввода в HTML
  • Кодировка символов, например, UTF-8
  • Использование последовательностей, в которых нет нужного символа, например \u0061 для a
0 голосов
/ 04 декабря 2010

Они действительно разные.

Вы в значительной степени поняли это правильно.

...