Что-то, что меня давно смущало, так это то, что многие программы используют термины «кодировка» и «кодировка» в качестве синонимов.
Когда люди ссылаются на «кодировку» Юникода, они всегда имеют в виду набор правил для представления символов Юникода в виде последовательности байтов - например, ASCII или UTF-8. Это кажется разумным и интуитивным; идея заключается в том, что вы «кодируете» эти символы в виде байтов, используя указанный набор правил.
Поскольку эти наборы правил иногда предоставляют только возможность «кодировать» некоторое подмножество всех символов Юникода, вы можете себе представить, что «кодировка» - сокращение от «набора символов» - будет просто означать набор символов Юникода - без учета того, как эти символы закодированы. Таким образом, кодирование подразумевает набор символов (кодировка, подобная ASCII, в которой есть только правила для кодирования 128 символов, будет связана с набором символов из этих 128 символов), но набор символов не должен подразумевать кодирование (например, UTF-8, UTF). -16 и UTF-32 - все разные кодировки, но могут кодировать один и тот же набор символов).
И все же - и в этом суть моего вопроса - использование слова «кодировка» в реальном мире не соответствует тому, что подразумевает конструкция этого слова. Это почти всегда используется для обозначения «кодирования».
Например:
charset
Атрибут в HTML используется для указания кодировкиCharset
в Java это кодировкиcharset
s иcharacter sets
в MySQL, опять же, кодировки
Сколько лет этому любопытному (ab) использованию языка и как появилось это нелогичное определение «кодировки»? Есть ли возможно , происходит от времени , когда действительно был , на практике, отображение взаимно-однозначное соответствие между кодировками в использовании и наборами символов они поддерживаются? Или был какой-то особенно влиятельный стандарт или спецификация, которая диктовала это определение слова?
charset
предшествует стандарту Unicode, поэтому, хотя это и не было «однозначным отображением», символы, необходимые для документа, обычно приводили к выбору кодировки. Но у меня нет времени исследовать реальную историю слова ...