Langue

Normalizer Classe

Définition

Ancienne API de normalisation Unicode.

[Android.Runtime.Register("android/icu/text/Normalizer", ApiSince=24, DoNotGenerateAcw=true)]
public sealed class Normalizer : Java.Lang.Object, IDisposable, 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
Héritage
Normalizer
Attributs
Implémente

Remarques

Ancienne API de normalisation Unicode.

Cette API a été remplacée par la classe et n’est disponible que pour la Normalizer2 compatibilité descendante. Cette classe délègue simplement à la classe Normalizer2. Il existe deux exceptions : la nouvelle API ne fournit pas de remplacement et QuickCheckResultcompare().

normalize transforme le texte Unicode en un formulaire composé ou décomposé équivalent, ce qui facilite le tri et la recherche de texte. normalize prend en charge les formulaires de normalisation standard décrits dans

Annexe standard Unicode #15 &mdash ; Formulaires de normalisation Unicode.

Les caractères avec des accents ou d’autres ornements peuvent être encodés de différentes manières dans Unicode. Par exemple, prenez le caractère A-aigu. En Unicode, cela peut être encodé en tant que caractère unique (le formulaire « composé ») :

00C1    LATIN CAPITAL LETTER A WITH ACUTE

ou sous la forme de deux caractères distincts (formulaire « décomposé ») :

0041    LATIN CAPITAL LETTER A
                 0301    COMBINING ACUTE ACCENT

Toutefois, pour un utilisateur de votre programme, ces deux séquences doivent être traitées comme le même caractère de « niveau utilisateur » « A avec accent aigu ». Lorsque vous recherchez ou comparez du texte, vous devez vous assurer que ces deux séquences sont traitées de manière équivalente. En outre, vous devez gérer les caractères avec plusieurs accents. Parfois, l’ordre des accents combinés d’un caractère est significatif, tandis que dans d’autres cas, les séquences d’accentuations dans différents ordres sont vraiment équivalentes.

De même, la chaîne « ffi » peut être encodée sous la forme de trois lettres distinctes :

0066    LATIN SMALL LETTER F
                 0066    LATIN SMALL LETTER F
                 0069    LATIN SMALL LETTER I

ou en tant que caractère unique

FB03    LATIN SMALL LIGATURE FFI

Le ligature ffi n’est pas un caractère sémantique distinct, et strictement parlant, il ne doit pas être en Unicode du tout, mais il a été inclus pour la compatibilité avec les jeux de caractères existants qui l’ont déjà fourni. La norme Unicode identifie ces caractères en leur donnant des décompositions de « compatibilité » en caractères sémantiques correspondants. Lors du tri et de la recherche, vous souhaiterez souvent utiliser ces mappages.

normalize permet de résoudre ces problèmes en transformant du texte en formulaires composés canoniques et décomposés, comme illustré dans le premier exemple ci-dessus. En outre, vous pouvez effectuer des décompositions de compatibilité afin que vous puissiez traiter les caractères de compatibilité identiques à leurs équivalents. Enfin, normalize réorganise les accents dans l’ordre canonique approprié, afin que vous n’ayez pas à vous soucier de la réorganisation des accents par vous-même.

Form FCD, « Fast C or D », est également conçu pour le classement. Il permet de travailler sur des chaînes qui ne sont pas nécessairement normalisées avec un algorithme (comme dans le classement) qui fonctionne sous « fermeture canonique », c’est-à-dire qu’elle traite les caractères précomposés et leurs équivalents décomposés identiques.

Il ne s’agit pas d’une forme de normalisation, car elle ne fournit pas d’unicité de représentation. Plusieurs chaînes peuvent être canoniquement équivalentes (leurs NFD sont identiques) et peuvent tous être conformes à FCD sans être identiques eux-mêmes.

La forme est définie de telle sorte que la décomposition « brute », la décomposition canonique récursive de chaque caractère, entraîne une chaîne ordonnée canoniquement. Cela signifie que les caractères précomposés sont autorisés tant que leurs décompositions n’ont pas besoin de réorganisation canonique.

Son avantage pour un processus comme le classement est que tous les textes NFD et la plupart des textes NFC - et de nombreux textes nonnormalisés - sont déjà conformes à FCD et n’ont pas besoin d’être normalisés (NFD) pour un tel processus. La vérification rapide FCD retourne OUI pour la plupart des chaînes en pratique.

normalize(FCD) peut être implémenté avec NFD.

Pour plus d’informations sur FCD, consultez la note technique Unicode n° 5 (équivalence canonique dans les applications) : http://www.unicode.org/notes/tn5/#FCD

Le classement ICU effectue automatiquement la normalisation NFD ou FCD si la normalisation est activée pour l’objet collator. Au-delà du classement et de la recherche de chaînes, les chaînes normalisées peuvent être utiles pour les comparaisons d’équivalence de chaînes, la translittération/transcription, les représentations uniques, etc.

Le W3C recommande généralement d’échanger des textes en NFC. Notez également que la plupart des encodages de caractères hérités utilisent uniquement des formulaires précomposés et n’encodent souvent aucune marque de combinaison par eux-mêmes. Pour la conversion vers de tels encodages de caractères, le texte Unicode doit être normalisé en NFC. Pour plus d’exemples d’utilisation, consultez l’annexe standard Unicode.

Remarque : la classe Normalizer fournit également l’API pour la normalisation itérative. Tandis que les méthodes setIndex() et getIndex() font référence à des index dans le texte d’entrée Unicode sous-jacent, les méthodes next() et previous() effectuent une itération au sein de caractères dans la sortie normalisée. Cela signifie qu’il n’existe pas nécessairement de correspondance un-à-un entre les caractères retournés par next() et previous() et les index passés à et retournés à partir de setIndex() et getIndex(). C’est pour cette raison que Normalizer n’implémente pas l’interface CharacterIterator.

Java documentation pour android.icu.text.Normalizer.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Champs

Nom Description
CompareCodePointOrder
Obsolète.

Bit d’option pour la comparaison : comparez les chaînes dans l’ordre du point de code au lieu de l’ordre d’unité de code.

CompareIgnoreCase
Obsolète.

Bit d’option pour la comparaison : effectuez une comparaison sans respect de la casse.

FoldCaseDefault
Obsolète.

Bit d’option pour la comparaison : comparez sensiblement la casse aux chaînes

FoldCaseExcludeSpecialI
Obsolète.

Valeur d’option pour le pliage de cas : utilisez l’ensemble modifié de mappages fournis dans CaseFolding.

InputIsFcd
Obsolète.

Bit d’option pour la comparaison : les deux chaînes d’entrée sont supposées remplir les conditions FCD.

Propriétés

Nom Description
Class

Retourne la classe runtime de ce Object.

(Hérité de Object)
Handle

Handle de l’instance Android sous-jacente.

(Hérité de Object)
JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

(Hérité de Object)
JniManagedPeerState

Ancienne API de normalisation Unicode.

(Hérité de JavaObject)
JniPeerMembers

Ancienne API de normalisation Unicode.

Maybe

Ancienne API de normalisation Unicode.

No

Ancienne API de normalisation Unicode.

PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

(Hérité de Object)
ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

(Hérité de Object)
ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

(Hérité de Object)
Yes

Ancienne API de normalisation Unicode.

Méthodes

Nom Description
Clone()

Clone cet Normalizer objet.

Compare(Char[], Char[], NormalizerCompareOptions)

Comparez deux chaînes pour l’équivalence canonique.

Compare(Char[], Int32, Int32, Char[], Int32, Int32, NormalizerCompareOptions)

Comparez deux chaînes pour l’équivalence canonique.

Compare(Int32, Int32, NormalizerCompareOptions)

Méthode pratique qui peut avoir une implémentation plus rapide en n’allouant pas de mémoires tampons.

Compare(Int32, String, NormalizerCompareOptions)

Méthode pratique qui peut avoir une implémentation plus rapide en n’allouant pas de mémoires tampons.

Compare(String, String, NormalizerCompareOptions)

Comparez deux chaînes pour l’équivalence canonique.

Construct(JniObjectReference, JniObjectReferenceOptions)

Ancienne API de normalisation Unicode.

(Hérité de JavaObject)
Dispose()

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
Dispose(Boolean)

Libère les ressources détenues par cet homologue Java.

(Hérité de Object)
DisposeUnlessReferenced()

Ancienne API de normalisation Unicode.

(Hérité de JavaObject)
Equals(Object)

Ancienne API de normalisation Unicode.

(Hérité de JavaObject)
Equals(Object)

Indique si un autre objet est « égal à » celui-ci.

(Hérité de Object)
GetHashCode()

Retourne une valeur de code de hachage pour l’objet.

(Hérité de Object)
JavaFinalize()
Obsolète.

Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet.

(Hérité de Object)
Notify()

Réveille un thread unique qui attend le moniteur de cet objet.

(Hérité de Object)
NotifyAll()

Réveille tous les threads qui attendent le moniteur de cet objet.

(Hérité de Object)
SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

(Hérité de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Ancienne API de normalisation Unicode.

(Hérité de JavaObject)
ToArray<T>()

Crée un tableau managé à partir de ce wrapper de tableau Java.

(Hérité de Object)
ToString()

Retourne une représentation sous forme de chaîne de l’objet.

(Hérité de Object)
UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

(Hérité de Object)
Wait()

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<>

(Hérité de Object)
Wait(Int64, Int32)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)
Wait(Int64)

Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée.

(Hérité de Object)

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

Ancienne API de normalisation Unicode.

(Hérité de JavaObject)
IJavaPeerable.Finalized()

Ancienne API de normalisation Unicode.

(Hérité de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Ancienne API de normalisation Unicode.

(Hérité de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Ancienne API de normalisation Unicode.

(Hérité de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Ancienne API de normalisation Unicode.

(Hérité de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Ancienne API de normalisation Unicode.

(Hérité de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Ancienne API de normalisation Unicode.

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

Ancienne API de normalisation Unicode.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à