2012-04-05 38 views
5
  • Iso-8859-1 è un sottoinsieme appropriato di utf-8?
  • Che dire di iso-8859-n?
  • Che dire di Windows-1252?

Se la risposta è no a uno dei precedenti, quali sono i caratteri disgiunti? Sto testando una logica che rileva i set di caratteri e voglio scrivere test per verificare che il rilevamento funzioni correttamente.Set caratteri Caratteri speciali

risposta

8

Iso-8859-1 è un sottoinsieme appropriato di utf-8?

Il carattere Répertoire di ISO-8859-1 (i primi 256 caratteri Unicode) è un sottoinsieme proprio di quella di UTF-8 (ogni carattere Unicode).

Tuttavia, lo characters U+0080 to U+00FF è codificato in modo diverso nelle due codifiche.

  • ISO-8859-1 assegna ognuno di questi caratteri una singolo byte da 80 a FF.
  • UTF-8 codifica gli stessi caratteri di sequenze a due byteC2 80 a C3 BF.

Che dire di iso-8859-n?

Queste sono 15 codifiche diverse che contengono un totale di 614 caratteri distinti. Alcuni di questi caratteri si verificano in più "parti" di ISO 8859 e altri no. Dovrai essere più specifico.

Vedo che la tua domanda è codificata ISO-8859-2. I personaggi che si trovano in -2 che non sono in -1 sono:

Ă㥹ĆćČčĎďĐđĘęĚěĹ弾ŁłŃńŇňŐőŔŕŘřŚśŞşŠšŢţŤťŮůŰűŹźŻżŽžˇ˘˙˛˝

Che dire di windows-1252?

Windows-1252 è come ISO-8859-1 tranne che sostituisce i caratteri di controllo utilizzati raramente nell'intervallo 0x80-0x9F con caratteri stampabili. I personaggi che si trovano in windows-1252, ma non in ISO-8859-1 sono:

ŒœŠšŸŽžƒˆ˜–—‘’‚“”„†‡•…‰‹›€™

+0

Quindi stai dicendo che repetoire di iso-8859-1 è un sottoinsieme proprio del repertorio di utf-8 ? Credo che. Quello di cui non sono sicuro è che il ripeto di utf-8 è uguale al repetoire di unicode. Ho pensato che lo scopo di utf-16/utf-32 fosse quello di essere in grado di codificare più/tutti i caratteri unicode rispettivamente. –

+1

Ahh ... l'ho cercato. Poiché UTF-8 può rappresentare caratteri come byte multipli, è in grado di esprimere tutto il Repetario Unicode. Questo ha senso ora. –

0

Unicode è un superset di tutti questi set di caratteri e di praticamente tutti i set di caratteri stabiliti. È possibile trovare un elenco di mapping di tutti questi set di caratteri ai punti di codice Unicode qui: http://unicode.org/Public/MAPPINGS/.