Domanda

Immagino che i punti di codice di UCS e Unicode siano gli stessi, ho ragione?

In tal caso, perché abbiamo bisogno di due standard (UCS e Unicode)?

È stato utile?

Soluzione

Non sono due standard. Il set di caratteri universali (UCS) non è uno standard ma qualcosa definito in uno standard, vale a dire ISO 10646. Questo non dovrebbe essere confuso con codifica, come UCS-2.

È difficile indovinare se significhi effettivamente codifiche diverse o standard diversi. Ma per quanto riguarda quest'ultimo, Unicode e ISO 10646 erano originariamente due distinti sforzi di standardizzazione con diversi obiettivi e strategie. Sono stati tuttavia armonizzati nei primi anni '90 per evitare tutto il casino derivante da due diversi standard. Sono stati coordinati in modo che i punti del codice siano effettivamente gli stessi.

Sono stati mantenuti distinti, tuttavia, in parte perché Unicode è definito da un consorzio del settore che può funzionare in modo flessibile e ha un grande interesse a standardizzare le cose oltre a semplici incarichi di codice. Lo standard Unicode definisce un gran numero di principi e regole di elaborazione, non solo i caratteri. ISO 10646 è uno standard formale che può essere referenziato negli standard e in altri documenti dell'ISO e dei suoi membri.

Altri suggerimenti

I punti di codice sono uguali ma ci sono alcune differenze. Da La voce di Wikipedia sulle differenze tra Unicode e ISO 10646 (IE UCS):

La differenza tra loro è che Unicode aggiunge regole e specifiche che si trovano al di fuori dell'ambito di ISO 10646. ISO 10646 è una semplice mappa dei caratteri, un'estensione dei precedenti standard come ISO 8859. Al contrario, Unicode aggiunge regole per la raccolta, normalizzazione delle forme, e l'algoritmo bidirezionale per script come ebraico e arabo

Potresti trovare utile da leggere Il minimo assoluto ogni sviluppatore di software deve assolutamente conoscere positivamente un Unicode e set di caratteri (nessuna scusa!)

Penso che le differenze provengano dal modo in cui i punti del codice sono codificati. UCS-X utilizza una quantità fissa di byte per codificare un punto di codice. Ad esempio, UCS-2 utilizza due byte. Tuttavia, UCS-2 non può codificare i punti di codice che richiederebbero oltre 2 byte. D'altra parte, UTF utilizza una quantità variabile di byte per la codifica. Ad esempio, UTF-8 utilizza almeno un byte (per i caratteri ASCII) ma utilizza più byte se il personaggio è al di fuori della gamma ASCII.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top