Normalizer Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
API de normalización Unicode antigua.
[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
- Herencia
- Atributos
- Implementaciones
Comentarios
API de normalización Unicode antigua.
Esta API se ha reemplazado por la Normalizer2 clase y solo está disponible para la compatibilidad con versiones anteriores. Esta clase simplemente delega a la clase Normalizer2. Hay dos excepciones: la nueva API no proporciona un reemplazo de QuickCheckResult y compare().
normalize transforma el texto Unicode en un formulario compuesto o descomponido equivalente, lo que permite una ordenación y búsqueda de texto más fácil.
normalize admite los formularios de normalización estándar descritos en
Anexo estándar Unicode n.º 15 — Formularios de normalización Unicode.
Los caracteres con acentos u otros adornos se pueden codificar de varias maneras diferentes en Unicode. Por ejemplo, tome el carácter A-acute. En Unicode, esto se puede codificar como un solo carácter (el formato "compuesto"):
00C1 LATIN CAPITAL LETTER A WITH ACUTE
o como dos caracteres independientes (el formulario "descomponido"):
0041 LATIN CAPITAL LETTER A
0301 COMBINING ACUTE ACCENT
Sin embargo, para un usuario del programa, ambas secuencias deben tratarse como el mismo carácter de "nivel de usuario" "A con énfasis agudo". Al buscar o comparar texto, debe asegurarse de que estas dos secuencias se tratan de forma equivalente. Además, debe controlar los caracteres con más de un énfasis. A veces, el orden de combinación de acentos de un carácter es significativo, mientras que en otros casos las secuencias de énfasis en diferentes órdenes son realmente equivalentes.
Del mismo modo, la cadena "ffi" se puede codificar como tres letras independientes:
0066 LATIN SMALL LETTER F
0066 LATIN SMALL LETTER F
0069 LATIN SMALL LETTER I
o como carácter único
FB03 LATIN SMALL LIGATURE FFI
La ligadura ffi no es un carácter semántico distinto y estrictamente hablando no debe estar en Unicode en absoluto, pero se incluyó para la compatibilidad con los juegos de caracteres existentes que ya lo proporcionó. El estándar Unicode identifica estos caracteres al proporcionarles descomposición "compatibilidad" en los caracteres semánticos correspondientes. Al ordenar y buscar, a menudo querrá usar estas asignaciones.
normalize ayuda a resolver estos problemas mediante la transformación de texto en los formularios compuestos y descomponidos canónicos, como se muestra en el primer ejemplo anterior. Además, puede hacer que realice descomposición de compatibilidad para que pueda tratar los caracteres de compatibilidad igual que sus equivalentes. Por último, normalize reorganiza los acentos en el orden canónico adecuado, de modo que no tenga que preocuparse por la reorganización de énfasis por su cuenta.
Form FCD, "Fast C or D", también está diseñado para intercalación. Permite trabajar en cadenas que no están necesariamente normalizadas con un algoritmo (como en la intercalación) que funciona bajo "cierre canónico", es decir, trata los caracteres precomponidos y sus equivalentes descomponidos iguales.
No es una forma de normalización porque no proporciona unicidad de representación. Varias cadenas pueden ser equivalentes canónicamente (sus NFD son idénticas) y pueden ajustarse a FCD sin ser idénticas.
El formulario se define de forma que la "descomposición sin procesar", la descomposición canónica recursiva de cada carácter, da como resultado una cadena ordenada canónicamente. Esto significa que se permiten caracteres precomponidos siempre que sus descomposición no necesiten reordenación canónica.
Su ventaja para un proceso como la intercalación es que todos los textos NFD y la mayoría de los textos NFC (y muchos textos no normalizados) ya se ajustan a FCD y no es necesario normalizar (NFD) para este proceso. La comprobación rápida de FCD devolverá sí para la mayoría de las cadenas en la práctica.
normalize(FCD) se puede implementar con NFD.
Para obtener más información sobre FCD, vea Nota técnica Unicode n.º 5 (Equivalencia canónica en aplicaciones): http://www.unicode.org/notes/tn5/#FCD
La intercalación de ICU realiza automáticamente la normalización de NFD o FCD si la normalización está activada para el objeto de intercalador. Más allá de la intercalación y la búsqueda de cadenas, las cadenas normalizadas pueden ser útiles para comparaciones de equivalencia de cadenas, transliteración/transcripción, representaciones únicas, etc.
Por lo general, el W3C recomienda intercambiar textos en NFC. Tenga en cuenta también que la mayoría de las codificaciones de caracteres heredadas solo usan formularios precomponidos y, a menudo, no codifican marcas de combinación por sí mismas. Para la conversión a estas codificaciones de caracteres, el texto Unicode debe normalizarse en NFC. Para obtener más ejemplos de uso, consulte el Anexo estándar Unicode.
Nota: La clase Normalizer también proporciona API para la normalización iterativa. Mientras que los métodos setIndex() y getIndex() hacen referencia a índices en el texto de entrada Unicode subyacente, los métodos next() y previous() recorren en iteración los caracteres de la salida normalizada. Esto significa que no hay necesariamente una correspondencia uno a uno entre caracteres devueltos por next() y previous() y los índices pasados a y devueltos desde setIndex() y getIndex(). Por este motivo, Normalizer no implementa la interfaz CharacterIterator.
Java documentación para android.icu.text.Normalizer.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Campos
| Nombre | Description |
|---|---|
| CompareCodePointOrder |
Obsoletos.
Bit de opción para comparar: compare cadenas en orden de punto de código en lugar del orden de unidad de código. |
| CompareIgnoreCase |
Obsoletos.
Bit de opción para comparar: realice una comparación que no distingue mayúsculas de minúsculas. |
| FoldCaseDefault |
Obsoletos.
Bit de opción para comparar: compare mayúsculas y minúsculas las cadenas |
| FoldCaseExcludeSpecialI |
Obsoletos.
Valor de opción para plegado de mayúsculas y minúsculas: use el conjunto modificado de asignaciones proporcionadas en CaseFolding. |
| InputIsFcd |
Obsoletos.
Bit de opción para la comparación: se supone que ambas cadenas de entrada cumplen las condiciones de FCD. |
Propiedades
| Nombre | Description |
|---|---|
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniPeerMembers |
API de normalización Unicode antigua. |
| Maybe |
API de normalización Unicode antigua. |
| No |
API de normalización Unicode antigua. |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. (Heredado de Object) |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. (Heredado de Object) |
| Yes |
API de normalización Unicode antigua. |
Métodos
| Nombre | Description |
|---|---|
| Clone() |
Clona este |
| Compare(Char[], Char[], NormalizerCompareOptions) |
Compare dos cadenas para la equivalencia canónica. |
| Compare(Char[], Int32, Int32, Char[], Int32, Int32, NormalizerCompareOptions) |
Compare dos cadenas para la equivalencia canónica. |
| Compare(Int32, Int32, NormalizerCompareOptions) |
Método de conveniencia que puede tener una implementación más rápida sin asignar búferes. |
| Compare(Int32, String, NormalizerCompareOptions) |
Método de conveniencia que puede tener una implementación más rápida sin asignar búferes. |
| Compare(String, String, NormalizerCompareOptions) |
Compare dos cadenas para la equivalencia canónica. |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| GetHashCode() |
Devuelve un valor de código hash para el objeto . (Heredado de Object) |
| JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToString() |
Devuelve una representación de cadena del objeto . (Heredado de Object) |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| Wait() |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IJavaPeerable.Disposed() |
Notifica al tiempo de ejecución de interoperabilidad que se ha eliminado este mismo nivel administrado. (Heredado de Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
Libera este Java del mismo nivel a menos que otra referencia administrada lo conserve. (Heredado de Object) |
| IJavaPeerable.Finalized() |
Notifica al tiempo de ejecución de interoperabilidad que se ha finalizado este mismo nivel administrado. (Heredado de Object) |
| IJavaPeerable.JniManagedPeerState |
Obtiene el estado que describe la relación entre este par administrado y su referencia de JNI. (Heredado de Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Establece el código hash de identidad de interoperabilidad para este Java del mismo nivel. (Heredado de Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Establece el estado del mismo nivel administrado y JNI para este Java del mismo nivel. (Heredado de Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Establece la referencia de objeto JNI usada por este par administrado. (Heredado de Object) |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
API de normalización Unicode antigua. |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |