Normalizer Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
API di normalizzazione Unicode precedente.
[Android.Runtime.Register("android/icu/text/Normalizer", ApiSince=24, DoNotGenerateAcw=true)]
public sealed class Normalizer : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.ICloneable
[<Android.Runtime.Register("android/icu/text/Normalizer", ApiSince=24, DoNotGenerateAcw=true)>]
type Normalizer = class
inherit Object
interface ICloneable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Ereditarietà
- Attributi
- Implementazioni
Commenti
API di normalizzazione Unicode precedente.
Questa API è stata sostituita dalla Normalizer2 classe ed è disponibile solo per la compatibilità con le versioni precedenti. Questa classe delega semplicemente alla classe Normalizer2. Esistono due eccezioni: la nuova API non fornisce una sostituzione per QuickCheckResult e compare().
normalize trasforma il testo Unicode in un formato composto o scomposto equivalente, consentendo un ordinamento e una ricerca di testo più semplici.
normalize supporta i moduli di normalizzazione standard descritti in
Allegato standard Unicode n. 15 — Moduli di normalizzazione Unicode.
I caratteri con accenti o altri oggetti decorativi possono essere codificati in diversi modi in Unicode. Ad esempio, prendere il carattere A-acute. In Unicode, questo può essere codificato come un singolo carattere (formato "composto):In Unicode, this can be encoded as a single character (il formato "composto"):
00C1 LATIN CAPITAL LETTER A WITH ACUTE
o come due caratteri separati (il formato "scomposto):or as two separate characters (the "decomposed" form):
0041 LATIN CAPITAL LETTER A
0301 COMBINING ACUTE ACCENT
Per un utente del programma, tuttavia, entrambe queste sequenze devono essere considerate come lo stesso carattere "a livello utente" "A con accento acuto". Quando si esegue la ricerca o il confronto del testo, è necessario assicurarsi che queste due sequenze vengano trattate in modo equivalente. Inoltre, è necessario gestire i caratteri con più accenti. A volte l'ordine di combinazione di accenti di un carattere è significativo, mentre in altri casi le sequenze accentati in ordini diversi sono realmente equivalenti.
Analogamente, la stringa "ffi" può essere codificata come tre lettere separate:
0066 LATIN SMALL LETTER F
0066 LATIN SMALL LETTER F
0069 LATIN SMALL LETTER I
o come singolo carattere
FB03 LATIN SMALL LIGATURE FFI
La legatura ffi non è un carattere semantico distinto e non deve necessariamente essere in Unicode, ma è stata inclusa per la compatibilità con i set di caratteri esistenti che lo hanno già fornito. Lo standard Unicode identifica tali caratteri fornendo loro "compatibilità" scomposizione nei caratteri semantici corrispondenti. Durante l'ordinamento e la ricerca, è spesso necessario usare questi mapping.
normalize aiuta a risolvere questi problemi trasformando il testo in forme canoniche composte e scomposte, come illustrato nel primo esempio precedente. Inoltre, è possibile che esegua le scomposizione di compatibilità in modo da poter trattare i caratteri di compatibilità uguali ai rispettivi equivalenti. Infine, normalize riorganizza gli accenti nell'ordine canonico appropriato, in modo che non devi preoccuparti di riorganizzare l'accento da solo.
Il formato FCD, "Fast C o D", è progettato anche per le regole di confronto. Consente di lavorare su stringhe che non sono necessariamente normalizzate con un algoritmo (come nelle regole di confronto) che funziona in "chiusura canonica", ovvero tratta i caratteri precomposti e i relativi equivalenti scomposti lo stesso.
Non è una forma di normalizzazione perché non fornisce l'univocità della rappresentazione. Più stringhe possono essere canonichemente equivalenti (i relativi NFD sono identici) e possono essere tutte conformi a FCD senza essere identiche.
Il form è definito in modo che la "scomposizione non elaborata", la scomposizione canonica ricorsiva di ogni carattere, restituisca una stringa ordinata in modo canonico. Ciò significa che i caratteri precomposti sono consentiti a condizione che le loro scomposizione non richiedano il riordinamento canonico.
Il suo vantaggio per un processo come le regole di confronto è che tutti i testi NFD e la maggior parte dei testi NFC - e molti testi nonmalizzati - già conformi a FCD e non devono essere normalizzati (NFD) per un processo di questo tipo. Il controllo rapido fcd restituirà SÌ per la maggior parte delle stringhe in pratica.
normalize(FCD) può essere implementato con NFD.
Per altri dettagli su FCD, vedere La nota tecnica Unicode n. 5 (equivalenza canonica nelle applicazioni): http://www.unicode.org/notes/tn5/#FCD
Le regole di confronto ICU eseguono automaticamente la normalizzazione NFD o FCD se la normalizzazione è attivata per l'oggetto collator. Oltre alle regole di confronto e alla ricerca di stringhe, le stringhe normalizzate possono essere utili per confronti di equivalenza di stringhe, traslitterazione/trascrizione, rappresentazioni univoche e così via.
Il W3C consiglia in genere di scambiare testi in NFC. Si noti anche che la maggior parte delle codifiche dei caratteri legacy usa solo moduli precomposti e spesso non codifica alcun segno combinato da solo. Per la conversione in tali codifiche di caratteri, il testo Unicode deve essere normalizzato in NFC. Per altri esempi di utilizzo, vedere l'allegato standard Unicode.
Nota: la classe Normalizer fornisce anche l'API per la normalizzazione iterativa. Mentre setIndex() e getIndex() fanno riferimento agli indici nel testo di input Unicode sottostante, i metodi next() e previous() e previous() eseguono l'iterazione dei caratteri nell'output normalizzato. Ciò significa che non esiste necessariamente una corrispondenza uno-a-uno tra i caratteri restituiti da next() e previous() e gli indici passati a e restituiti da setIndex() e getIndex(). Per questo motivo Normalizer non implementa l'interfaccia CharacterIterator.
per android.icu.text.Normalizer.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Campi
| Nome | Descrizione |
|---|---|
| CompareCodePointOrder |
Obsoleti.
Bit di opzione per il confronto: confrontare le stringhe nell'ordine dei punti di codice anziché l'ordine dell'unità di codice. |
| CompareIgnoreCase |
Obsoleti.
Bit di opzione per il confronto: eseguire un confronto senza distinzione tra maiuscole e minuscole. |
| FoldCaseDefault |
Obsoleti.
Bit di opzione per il confronto: confrontare con distinzione tra maiuscole e minuscole le stringhe |
| FoldCaseExcludeSpecialI |
Obsoleti.
Valore dell'opzione per la riduzione del case: usare il set modificato di mapping fornito in CaseFolding. |
| InputIsFcd |
Obsoleti.
Bit di opzione per il confronto: si presuppone che entrambe le stringhe di input soddisfino le condizioni fcd. |
Proprietà
| Nome | Descrizione |
|---|---|
| Class |
Restituisce la classe di runtime di questo |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| JniIdentityHashCode |
API di normalizzazione Unicode precedente. (Ereditato da Object) |
| JniPeerMembers |
API di normalizzazione Unicode precedente. |
| Maybe |
API di normalizzazione Unicode precedente. |
| No |
API di normalizzazione Unicode precedente. |
| PeerReference |
API di normalizzazione Unicode precedente. (Ereditato da Object) |
| ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
| ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. (Ereditato da Object) |
| Yes |
API di normalizzazione Unicode precedente. |
Metodi
| Nome | Descrizione |
|---|---|
| Clone() |
Clona questo |
| Compare(Char[], Char[], NormalizerCompareOptions) |
Confrontare due stringhe per l'equivalenza canonica. |
| Compare(Char[], Int32, Int32, Char[], Int32, Int32, NormalizerCompareOptions) |
Confrontare due stringhe per l'equivalenza canonica. |
| Compare(Int32, Int32, NormalizerCompareOptions) |
Metodo pratico che può avere un'implementazione più rapida non allocando buffer. |
| Compare(Int32, String, NormalizerCompareOptions) |
Metodo pratico che può avere un'implementazione più rapida non allocando buffer. |
| Compare(String, String, NormalizerCompareOptions) |
Confrontare due stringhe per l'equivalenza canonica. |
| Dispose() |
API di normalizzazione Unicode precedente. (Ereditato da Object) |
| Dispose(Boolean) |
API di normalizzazione Unicode precedente. (Ereditato da Object) |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| GetHashCode() |
Restituisce un valore di codice hash per l'oggetto . (Ereditato da Object) |
| JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| ToArray<T>() |
API di normalizzazione Unicode precedente. (Ereditato da Object) |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto . (Ereditato da Object) |
| UnregisterFromRuntime() |
API di normalizzazione Unicode precedente. (Ereditato da Object) |
| Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
| Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IJavaPeerable.Disposed() |
API di normalizzazione Unicode precedente. (Ereditato da Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
API di normalizzazione Unicode precedente. (Ereditato da Object) |
| IJavaPeerable.Finalized() |
API di normalizzazione Unicode precedente. (Ereditato da Object) |
| IJavaPeerable.JniManagedPeerState |
API di normalizzazione Unicode precedente. (Ereditato da Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
API di normalizzazione Unicode precedente. (Ereditato da Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
API di normalizzazione Unicode precedente. (Ereditato da Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
API di normalizzazione Unicode precedente. (Ereditato da Object) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
API di normalizzazione Unicode precedente. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |