4.10 unicodedata -- Database Unicode

Questo modulo fornisce l'accesso al database dei caratteri Unicode che definisce le proprietà di ciascun carattere Unicode. I dati di questo database si basano sul file UnicodeData.txt nella versione 3.2.0, disponibile presso l'ftp://ftp.unicode.org/.

Il modulo usa gli stessi nomi e simboli definit dal file UnicodeData File Format 3.2.0 (vedete http://www.unicode.org/Public/UNIDATA/UnicodeData.html). Definisce le seguenti funzioni:

lookup( name)
Cerca il carattere a partire da name. Se il carattere con il dato nome name viene trovato, restituisce il corrispondente carattere Unicode. Se non trovato, viene sollevata l'eccezione KeyError.

name( unichr[, default])
Restituisce il nome assegnato dal carattere Unicode unichr come stringa. Se nessun nome name è definito, viene restituito il predefinito, default, altrimenti, se non indicato, viene sollevata l'eccezione ValueError.

decimal( unichr[, default])
Restituisce il valore decimale assegnato al carattere Unicode unichr come intero. Se nessun valore è definito, viene restituito il predefinito, default, altrimenti, se non indicato, viene sollevata l'eccezione ValueError.

digit( unichr[, default])
Restituisce il valore della cifra assegnata al carattere Unicode unichr come intero. Se nessun valore è definito, viene restituito il valore predefinito, default, altrimenti, se non indicato, viene sollevata l'eccezione ValueError.

numeric( unichr[, default])
Restituisce il valore numerico assegnato al carattere Unicode unichr come numero in virgola mobile. Se nessun valore è definito, viene restituito il valore predefinito, default, altrimenti, se non indicato, viene sollevata l'eccezione ValueError.

category( unichr)
Restituisce la categoria generale assegnata al carattere Unicode unichr come stringa.

bidirectional( unichr)
Restituisce la categoria bidirezionale assegnata al carattere Unicode unichr come stringa. Se nessun valore è definito, viene restituita una stringa vuota.

combining( unichr)
Restituisce la classe canonica combinata, assegnata al carattere Unicode unichr come intero. Restituisce 0 se nessuna classe combinata viene definita.

mirrored( unichr)
Restituisce la proprietà speculare assegnata al carattere Unicode unichr come intero. Restituisce 1 se il carattere viene identificato come ``speculare'' in un testo bidirezionale, altrimenti 0.

decomposition( unichr)
Restituisce il carattere estratto dalla mappa assegnato al carattere Unicode unichr come stringa. Viene restituita una stringa vuota nel caso in cui nessuna mappa sia definita.

normalize( form, unistr)

Restituisce la normale forma form per la stringa Unicode unistr. Valori validi per form sono 'NFC', 'NFKC', 'NFD' e 'NFKD'.

Lo standard Unicode definisce varie forme di normalizzazione di una stringa Unicode, basate sulla definizione di equivalenze canoniche ed equivalenze compatibili. In Unicode, diversi caratteri possono essere espressi in diversi modi. Per esempio, il carattere U+00C7 (LATIN MAIUSCOLO LETTERA C CON ACCENTO CEDILLA) può anche venire espresso come sequenza U+0043 (LATIN MAIUSCOLO LETTERA C) U+0327 (COMBINATO CEDILLA).

Per ogni carattere, esistono due forme normali: forma normale C e forma normale D. La forma normale D (NFD) è conosciuta anche come decomposizione canonica, e traduce ciascun carattere nella sua forma decomposta. La forma normale C (NFC) prima applica una decomposizione canonica, quindi nuovamente compone i caratteri ricombinandoli.

Oltre queste due forme, esistono due forme aggiuntive basate sull'equivalenza di compatibilità. In Unicode, alcuni caratteri vengono supportati così come lo sarebbero se venissero unificati con altri caratteri. Per esempio, U+2160 (ROMAN NUMERALE UNO) è esattamente la stessa cosa di U+0049 (LATIN MAIUSCOLO LETTER I). Comunque, viene supportato in Unicode per mantenere la compatibilità con gli insiemi di caratteri esistenti (per esempio gb2312).

La forma normale KD (NFKD) applicherà la decomposizione compatibile, ad esempio sostituire tutti caratteri di compatibilità con i loro equivalenti. La forma normale KC (NFKC) prima applica la decomposizione compatibile, seguita dalla composizione canonica.

Nuovo nella versione 2.3.

In aggiunta, il modulo rende disponibile la seguente costante:

unidata_version
La versione del database Unicode usato in questo modulo.

Nuovo nella versione 2.3.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.