Estoy tratando de evaluar diferentes estrategias para la comparación de cadenas UTF-8 insensible a mayúsculas y minúsculas.Pliegue de mayúsculas UTF-8 sin conocer el idioma
He leído un material del consorcio Unicode, he experimentado con la UCI y he intentado encontrar varias alternativas de calidad de implementación.
En varias ocasiones he visto textos diferentes entre el mapeo simple de casos y el mapeo completo de casos, y quería asegurarme de entender la diferencia por completo.
Según lo leí, Simple Case Mapping es "libre de contexto", es decir, no necesita saber qué idioma es la carga útil. Esto dará resultados aproximados, debido a la debacle turca "I/ı/İ/i".
El mapeo completo de casos, por otro lado, necesita conocer el lenguaje de la carga útil para poder realizar la asignación. Con esa información adicional, puede tomar medidas especiales para cubrir casos donde "Kim" como cuerda turca debería convertirse en "KIM" en mayúscula, pero "Kim" como una cadena en inglés, debería convertirse en "KIM" en mayúscula.
¿Lo tengo bien?
¿Hay otros ejemplos de puntos de código "multifacéticos" que se pliegan de manera diferente para diferentes idiomas?
Gracias!
ACTUALIZACIÓN: Una de las fuentes que menciona el mapeo de casos simples como independiente del lenguaje es ICU's documentation. Lo interpreté como la verdad de Unicode, pero tal vez es solo una declaración de la implementación.
Entonces, ambos necesitan el contexto del idioma, ¿verdad? Utilizo una biblioteca de terceros (PCRE) que no usa CaseFolding.txt, pero solo la información del caso de UnicodeData.txt, y no requiere el contexto del lenguaje (ni explícita ni implícitamente, por lo que puedo decir). Pensé que tal vez era un compromiso válido en el caso Simple. –
Absolutamente. Como se indica en el archivo, necesitará saber cuándo ignorar los registros con el código de estado "T". –
Por lo que puedo ver, el código de estado T aparece en CaseFolding.txt, y no UnicodeData.txt. ¿Pero realmente está diciendo que el plegado correcto solo puede hacerse con conocimiento del contexto del lenguaje? Estoy buscando un compromiso que no requiera el contexto, y que no sea 100% perfecto ... ¿Pero tal vez ese sea el primer paso en el camino hacia la calidez? –