Qualcosa che mi ha confuso a lungo è che così tanto software utilizza i termini "charset" e "codifica" come sinonimi.
Quando le persone si riferiscono a una "codifica" unicode, significano sempre un set di regole per rappresentare i caratteri unicode come una sequenza di byte, come ASCII o UTF-8. Questo sembra ragionevole e intuitivo; l'idea è che stai "codificando" quei caratteri come byte usando il set di regole specificato.
Poiché tali set di regole a volte forniscono solo la possibilità di "codificare" un sottoinsieme di tutti i caratteri unicode, si potrebbe immaginare che un "set di caratteri" - abbreviazione di "set di caratteri" - significherebbe semplicemente un set di caratteri unicode - senza alcun riguardo per come quei personaggi sono codificati. Una codifica implicherebbe quindi un set di caratteri (una codifica come ASCII, che ha solo regole per codificare 128 caratteri, sarebbe associata al set di caratteri di quei 128 caratteri) ma un set di caratteri non deve implicare una codifica (ad esempio UTF-8, UTF -16 e UTF-32 sono tutte codifiche diverse ma possono codificare lo stesso set di caratteri).
Tuttavia - ed ecco il punto cruciale della mia domanda - l'uso nel mondo reale della parola "charset" non corrisponde a ciò che la costruzione della parola implicherebbe. È quasi sempre usato per significare "codifica".
Per esempio:
- L'
charset
attributo in HTML viene utilizzato per specificare una codifica Charset
s in Java sono codifichecharset
secharacter sets
in MySQL sono, ancora una volta, codifiche
Quanti anni ha questo curioso (ab) uso del linguaggio e come è nata questa definizione contro-intuitiva di "set di caratteri"? Ha forse provengono da un periodo in cui c'è veramente era , in pratica, un mapping uno-a-uno tra codifiche in uso e gruppi di personaggi che ha sostenuto? O c'era qualche standard o specifica particolarmente influente che dettava questa definizione della parola?
charset
precede lo standard Unicode, quindi anche se potrebbe non essere stato un "mapping uno a uno", i caratteri richiesti per un documento tendevano a forzare la scelta della codifica. Ma non ho tempo di fare ricerche sulla storia attuale della parola ...