Algo que há muito me confunde é que muito software usa os termos "charset" e "codificação" como sinônimos.
Quando as pessoas se referem a uma "codificação" unicode, elas sempre significam um conjunto de regras para representar caracteres unicode como uma sequência de bytes - como ASCII ou UTF-8. Isso parece razoável e intuitivo; a ideia é que você esteja "codificando" esses caracteres como bytes usando o conjunto de regras especificado.
Como esses conjuntos de regras às vezes fornecem apenas a capacidade de "codificar" algum subconjunto de todos os caracteres unicode, você pode imaginar que um "conjunto de caracteres" - abreviação de 'conjunto de caracteres' - significaria simplesmente um conjunto de caracteres unicode - sem levar em consideração como esses caracteres são codificados. Assim, uma codificação implicaria um conjunto de caracteres (uma codificação como ASCII, que só possui regras para codificar 128 caracteres, seria associada ao conjunto de caracteres desses 128 caracteres), mas um conjunto de caracteres não precisará implicar uma codificação (por exemplo, UTF-8, UTF -16 e UTF-32 são todas codificações diferentes, mas podem codificar o mesmo conjunto de caracteres).
No entanto - e aqui está o cerne da minha pergunta - o uso no mundo real da palavra "charset" não corresponde ao que a construção da palavra implicaria. É quase sempre usado para significar "codificação".
Por exemplo:
- O
charset
atributo em HTML é usado para especificar uma codificação Charset
s em Java são codificaçõescharset
secharacter sets
no MySQL são, mais uma vez, codificações
Quantos anos tem esse curioso (ab) uso da linguagem e como surgiu essa definição contra-intuitiva de 'charset'? Talvez ele se origine de uma época em que realmente havia , na prática, um mapeamento individual entre codificações em uso e conjuntos de caracteres que eles suportavam? Ou havia algum padrão ou especificação particularmente influente que ditava essa definição da palavra?
charset
antecede o padrão Unicode; portanto, embora ele não tenha sido um "mapeamento individual", os caracteres necessários para um documento tendem a forçar a escolha da codificação. Mas eu não tenho tempo para pesquisar a história real da palavra ...