Avete anche voi argomenti che vi dovete ripassare almeno una volta all’anno? Argomenti che pare non si riescano a salvare nella memoria a lungo termine?

Per me, uno di questi riguarda encoding, character sets e compagnia bella e oggi ne ho avuto la riconferma, dopo essere inciampato su un banale problema di bits :(

Provate a rispondere a questi quesiti (Vero o Falso):

  1. ASCII = 8 bits
  2. Il carattere con codice 128 è uguale in tutti i code pages
  3. In UTF-7 l’ottavo bit è sempre 0
  4. UTF-8 usa 1 byte per ogni carattere
  5. UTF-7 e UTF-8 possono rappresentare tutti caratteri Unicode
  6. Unicode può rappresentare al massimo 65.536 caratteri
  7. Unicode non è un encoding

 

 

 

 

 

 

 

Risposte

  1. Falso
  2. Falso
  3. Vero
  4. Falso
  5. Vero
  6. Falso
  7. Vero

Se avete sbagliato almeno una risposta, vi consiglio di leggervi (o rileggervi come devo fare io annualmente) questo datato ma ancora attuale sommario di Joel Spolsky.   

C’è una cosa in .NET che non mi aiuta a ricordare questi concetti basilari: il fatto che esista una classe che si chiama UnicodeEncoding. Ma se Unicode è uno standard che definisce dei code points e non un Encoding per se! La documentazione è chiara: “rappresenta encoding UTF-16 dei caratteri Unicode”. Il nome, ahimè, non è così chiaro. Perché non l’hanno chiamata UTF16Encoding??