Supporto della codifica per le tabelle codici
Aggiornamento: novembre 2007
L'uso del formato Unicode in .NET Framework consente di semplificare lo sviluppo di applicazioni internazionali in quanto non è più necessario che venga creato un riferimento a una tabella codici dall'applicazione. Una tabella codici è un elenco di codici di caratteri selezionati, ossia caratteri rappresentati come punti di codice, in un determinato ordine. Le tabelle codici vengono definite in genere per supportare lingue o gruppi di lingue specifici che condividono sistemi di scrittura.
Le tabelle codici di Windows contengono 256 punti di codice e hanno inizio a zero. Nella maggior parte delle tabelle codici i punti di codice compresi tra 0 e 127 rappresentano gli stessi caratteri. In questo modo viene garantita la continuità e l'uso di codice precedente. I punti di codice compresi tra 128 e 255 differiscono in modo significativo tra le diverse tabelle codici. La tabella codici 1253, ad esempio, fornisce i codici di caratteri necessari nel sistema di scrittura della lingua greca. La tabella codici 1252 fornisce i caratteri per i sistemi di scrittura con caratteri latini, inclusi l'inglese, il tedesco e il francese. Gli ultimi 128 punti di codice nella tabella codici 1253 contengono i caratteri greci e gli ultimi 128 punti di codice nella tabella codici 1252 contengono i caratteri accentati. Non è quindi possibile per l'applicazione memorizzare la lingua greca e la lingua tedesca nello stesso flusso di codici, a meno che non venga incluso un identificatore indicante la tabella codici cui si fa riferimento.
Lo schema DBCS (Double-Byte Character Sets, set di caratteri a byte doppio) è stato sviluppato per lingue quali il cinese, il giapponese e il coreano che contengono più di 256 caratteri. Nello schema DBCS ciascun carattere è rappresentato da una coppia di punti di codice (un byte doppio). Quando l'applicazione utilizzano i dati dello schema DBCS, il primo byte di un carattere DBCS, ovvero il byte iniziale, non viene elaborato da solo, ma insieme al byte finale che lo segue immediatamente. Lo schema non consente ancora la combinazione di due lingue, ad esempio il giapponese e il cinese, nello stesso flusso di dati. Questo perché una coppia di punti di codice a byte-doppio può rappresentare caratteri diversi a seconda della tabella codici utilizzata.
In .NET Framework viene fornito il supporto per i caratteri codificati tramite le tabelle codici. L'applicazione può utilizzare il metodo GetEncoding per creare un oggetto di codifica di destinazione per una tabella codici specificata. Nell'esempio di codice riportato di seguito viene creata una codifica per la tabella codici 1252.
Encoding enc = Encoding.GetEncoding(1252)
Encoding enc = Encoding.GetEncoding(1252);
L'oggetto Encoding creato dall'applicazione e corrispondente a una tabella codici specificata può essere utilizzato per eseguire altre operazioni supportate dalla classe Encoding. Per un esempio sull'uso di questa classe, vedere l'argomento secondario relativo all'uso della classe Encoding dell'argomento Uso della codifica Unicode.