8
votes

Quel est l'algorithme standard pour convertir des caractères unicode en minuscules?

Je veux connaître l'algorithme standard pour convertir des caractères unicode en minuscules, comme proposé par Unicode.org .

En outre, la plupart des langages de programmation suivent cette norme proposée?


0 commentaires

3 Réponses :


1
votes

Les langages de programmation varient dans la manière dont ils supportent unicode. La plupart n'ont pas de caractères Unicode comme type intégré. Typiquement, il est manipulé dans une bibliothèque ou par des appels OS.

Par exemple, C ++ n'a pas de type de caractère unicode natif, mais dispose d'un support local dans la STL (qui est défini dans le cadre de la langue). Ada a un type natif wide_character, ainsi que la prise en charge de la bibliothèque pour la manipuler.


3 commentaires

"La plupart n'ont pas de caractères Unicode comme type intégré": ce n'est plus vrai pour les langues plus modernes.


Peut-être que beaucoup de ces langues "plus anciennes" (par exemple: la famille C) sont toujours à une utilisation immensément intense. Beaucoup de ces "langues plus modernes" deviennent plus pressantes que d'utiliser. Néanmoins, ils sont disponibles si le support de Native Unicode est important pour vous.


Même des langues "modernes" comme Java et C # n'ont réellement aucun type de caractère unicode; Char signifie une unité de code UTF-16, qui pourrait ne pas être la moitié d'un caractère.



2
votes

.NET a une prise en charge Unicode et propose des fonctions intégrées pour basculer entre les majuscules et les minuscules. Ceci est probablement vrai avec d'autres langues également.


2 commentaires

.NET est une plate-forme, pas une langue. Win32 a également un support Unicode.


Mais cela s'applique à toutes les langues à l'aide de la structure .NET, y compris C #, VB.NET, F #, etc.



5
votes

Je veux connaître l'algorithme standard pour convertir des caractères unicode en minuscule comme proposé par Unicode.org.

L'algorithme de base est simplement de concaténer le minuscule de chaque caractère individuel (tel que défini par l'avant-dernière colonne dans Unicodedata.txt ). Il existe également des Règles spéciales pour gérer les mappages de caractères multiples (© → © avec un supplément Allier du point au-dessus de la I), mappages conditionnels (σ → ς à la fin d'un mot, mais autrement) et des règles sensibles à la langue (comme turc sans dotes ı).

aussi, faites la plupart des langues de programmation Suivez cette norme proposée?

Java fait. Python met en œuvre les règles de base, mais pas les règles spéciales. Et c n'a pas de support unicode standardisé du tout.


2 commentaires

Que diriez-vous de JavaScript? Est-ce que cela suive la norme?


JavaScript met en œuvre les règles de base de base, mais pas les spéciales.