«Набор символов» - это то, что он говорит: правильно определенный список различных символов.
«Кодирование» - это сопоставление между набором символов (как правило, Unicode today) и техническим представлением символов (обычно байт).
UTF-8 - это кодировка, но не набор символов. Это кодировка набора символов Unicode (*).
Путаница возникает из-за того, что большинство других известных кодировок (например: ISO-8859-1) начинаются как отдельные наборы символов. Затем, когда Unicode появился в качестве надмножества большинства этих наборов символов, стало возможным рассматривать их как разные (но частичные) кодировки одного и того же набора символов (Unicode), а не только изолированные наборы символов. Глядя на них таким образом, вы можете легко конвертировать между ними через Unicode, что было бы невозможно, если бы они были просто изолированными наборами символов. Но все же имеет смысл ссылаться на них как наборы символов, поэтому можно использовать любой из них.
«Кодовая страница» - это термин, основанный на IBM, где он выбрал, какой набор символов будет отображаться. Этот термин по-прежнему использовался DOS, а затем Windows, вплоть до Unicode-совместимых Windows, где он просто выступает в качестве кодировки с пронумерованным идентификатором. Хотя пронумерованная «кодовая страница» - это идея, которая по сути не ограничивается Microsoft, сегодня этот термин почти всегда означает только кодировку, о которой знает Windows.
Когда речь идет о кодовой странице <номер>, обычно речь идет о кодировке, специфичной для Windows, в отличие от кодировки, разработанной органом стандартов. Например, кодовая страница 28591 обычно не упоминается под этим именем, а просто «ISO-8859-1». Специфическая для Windows западноевропейская кодировка, основанная на ISO-8859-1 (с несколькими дополнительными символами, заменяющими некоторые из ее управляющих кодов), обычно называется «кодовой страницей 1252».
[*: Все UTF являются кодировками, а не наборами символов, но этот вид не является исключением для Unicode. Например, японский стандарт JIS X 0208 определяет для него набор символов и два разных байтовых кодирования: несколько неприятное кодирование с высоким байтом («Shift-JIS») и глубоко ужасающее кодирование на основе перехода («JIS» «).]
У меня есть подписка на Safari. Просто скачайте эту главу, спасибо. – Deane
тоже здесь с подпиской на сафари :-) спасибо, хорошо смотрится –