In che modo le codifiche dei caratteri sono correlate ai caratteri?


Risposte:


7

Per iniziare con le basi, tutto si basa su US-ASCII che è un codice a 7 bit con 128 punti di codice nel set, esadecimale numerato da 00 a 7F o decimale 0-127. Questo è mappato su codici di controllo, alfanumerici inglesi e caratteri di punteggiatura di base

Aggiungendo 1 bit a questo per un codice a 8 bit (byte) ci danno altri 128 punti di codice o Extended ASCII.

Set di caratteri / pagine di codice sono stati richiesti all'inizio per modificare il modo in cui i punti di codice nei 128 bit superiori sono stati mappati a caratteri per coprire l'alfabeto per la lingua particolare che si desidera rappresentare. Funziona abbastanza bene per la maggior parte delle lingue dell'Europa occidentale. ISO 8859-1 / Latin-1 è un esempio di tale set di caratteri. Un altro è Windows-1252 che ha delle modifiche da ISO 8859-1 per aiutarlo a coprire caratteri più o diversi.

Le lingue con set di caratteri più complessi come cinese, giapponese e coreano superano le capacità del set di punti di codice 256 e utilizzano un codice a doppio byte per abilitarne la rappresentazione.

Unicode UTF-8 è uno schema di codifica dei caratteri multi-byte (1-4 byte) con compatibilità all'indietro con ISO 8859-1 / Latin-1 essendo i suoi primi 128 caratteri. Ha spazio per oltre 1 milione di punti di codice, il che significa che ogni punto di codice può effettivamente rappresentare un carattere, a differenza del mucking around fatto con Extended ASCII, il che significa che un punto di codice viene mappato su un carattere diverso, a seconda del set di caratteri / code page / codifica.

I caratteri sono glifi associati a punti di codice e rappresentano visivamente i caratteri. Il contenuto di un carattere dipende da quali lingue era originariamente destinato a coprire. Puoi usare la Mappa caratteri per vedere quali glifi sono contenuti all'interno del carattere.

I caratteri Unicode non coprono necessariamente tutti i punti del codice, è necessario vedere dove erano destinati a essere utilizzati. Ad esempio, in Windows 7, avvia la Mappa caratteri e visualizza i personaggi in Calibri, quindi confrontali con Ebrima, Meiryo e Raavi. Si noti che sono molto diversi perché ognuno è adattato a una diversa regione geografica.

Per quanto riguarda i caratteri Unicode e il set di caratteri Windows-1252, Windows utilizza una tabella di mapping per tradurre Windows-1252 in Unicode dove non corrisponde a ISO 8859-1 per uno scenario "Adatta" in cui alcuni caratteri nel carattere Windows-1252 il set potrebbe non essere visualizzato.


5

Set di caratteri

Un set di caratteri è una raccolta di caratteri, a ciascuno dei quali è assegnato un numero.

Un set di caratteri ben noto è ASCII. Questo è un set di 128 caratteri numerati da 0 a 127. Questi numeri possono essere espressi tutti in 7 bit (quindi è un set di caratteri a 7 bit)

La maggior parte, ma non tutti gli altri set di caratteri, include il set ASCII con la stessa numerazione. Esempi di set di caratteri che non sono come ASCII includono EBCDIC. C'erano anche varianti europee su ASCII che avevano caratteri diversi in determinate posizioni (ad esempio per includere £)

codifiche

Set di caratteri di grandi dimensioni come Unicode, con oltre un milione di caratteri, richiederebbero tre o quattro byte per carattere per adattarsi alla vasta gamma di numeri che sono stati assegnati ai caratteri. Invece usano un sistema che permette a quel numero di essere "codificato" come uno, due, tre o più byte. Con lo schema di codifica UTF-8, i caratteri uguali ai caratteri ASCII vengono codificati con singoli byte con lo stesso valore di byte di ASCII.

Le codifiche di cui sopra vengono utilizzate per la memorizzazione di testo nei file.

Caratteri di stampa

Un carattere tipografico è un disegno specifico della rappresentazione visiva (cioè la forma) per un insieme di caratteri. Le forme sono chiamate glifi. Un carattere tipografico potrebbe avere diversi glifi per un carattere (considera "a"). Potrebbe contenere glifi per coppie di caratteri chiamati legature (ad es. "Ff" o "fi"). In un carattere tipografico l'insieme di caratteri, per il quale è stato progettato un glifo, spesso differisce dall'insieme di caratteri in insiemi di caratteri noti (i caratteri tipografici di solito non includono glifi per i caratteri di controllo ASCII).

Caratteri

Nel contesto dei computer, un carattere indica un file contenente glifi ordinati secondo uno schema di numerazione (che spesso non corrisponde alla numerazione in un set di caratteri noto). Storicamente c'erano caratteri bitmap che rappresentavano una dimensione specifica (in pixel o punti) di un carattere tipografico. Attualmente la maggior parte dei caratteri utilizza curve matematiche per descrivere glifi e quindi può essere ridimensionata per rappresentare qualsiasi dimensione del carattere tipografico.

Mettere tutto insieme

Quando si visualizza un file di testo, è necessario comunicare (o indovinare) al computer la codifica utilizzata nel file. Utilizzerà quindi una numerazione diversa (ad esempio una variante di Unicode a 16 bit) per rappresentare il testo in memoria, quindi utilizzerà le informazioni in un file di font per mappare la rappresentazione interna alla numerazione (codifica) utilizzata nel file di font.


3

Un font deve supportare la codifica di ogni carattere?

No. Non so se ce ne siano davvero.
Ciò significherebbe che avrebbero "in loro" ogni personaggio immaginabile. I caratteri più comuni che usiamo per supportare le codifiche delle culture occidentali (latino).

O una codifica dei caratteri deve supportare tutti i caratteri?

La codifica dei caratteri, in un certo senso, non "supporta" nulla, quindi questo è davvero il modo sbagliato di vederlo.

Cosa significano i caratteri Unicode? Sono font che supportano solo Unicode e non supportano, diciamo, windows-1252?

Unicode è uno standard (o almeno sta cercando di esserlo), che supporta un gran numero di caratteri, rendendo quindi molte codifiche un sottoinsieme di se stesso. Windows 1252 o CP1252 è una codifica che contiene caratteri latini più alcuni caratteri dell'Europa centrale. La maggior parte di questi sono "coperti" anche da Unicode. Quasi tutti i caratteri Unicode coprono anche, CP1252.


1
Unicode è inequivocabilmente uno standard ISO numerato 10646.
MSalters
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.