2010-08-19 28 views

Répondre

4

Je veux savoir l'algorithme standard pour convertir en caractères unicode minuscules comme proposé par unicode.org.

L'algorithme de base est simplement de concaténer la minuscule de chaque caractère individuel (tel que défini par l'avant-dernière colonne dans UnicodeData.txt). Il y a également special rules pour gérer les mappages multi-caractères (İ → i̇ avec un POINT COMBINÉ supplémentaire AU-DESSUS du i), les mappages conditionnels (Σ → ς à la fin d'un mot, mais σ autrement), et les règles sensibles au langage (comme Turque sans point ı).

De même, la plupart des langages de programmation suivent-ils cette norme proposée?

Java fait. Python implémente les règles de base, mais pas les règles spéciales. Et C n'a aucun support Unicode standardisé.

+0

Que diriez-vous de javascript? Est-ce que ça suit la norme? – Albert

+1

JavaScript implémente les règles de base du boîtier, mais pas les règles spéciales. – dan04

+1

Voilà de bonnes infos. Merci! – Albert

1

Les langages de programmation varient dans la façon dont ils prennent en charge unicode. La plupart n'ont pas de caractères Unicode en tant que type intégré. Généralement, il est géré dans une bibliothèque ou par des appels de système d'exploitation. Par exemple, C++ n'a pas de type de caractères Unicode natif, mais dispose d'un support de localisation dans le fichier stl (qui est défini comme faisant partie du langage). Ada a un type natif Wide_Character, ainsi qu'un support de bibliothèque pour le manipuler.

+0

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

+2

Peut-être, mais beaucoup de ces langues «plus anciennes» (par exemple: la famille C) sont encore énormément utilisées. Beaucoup de ces "langues plus modernes" ont plus de presse que d'utilisation. Pourtant, ils sont disponibles si le support natif Unicode est important pour vous. –

+0

Merci pour l'info! – Albert

2

.NET dispose d'un support Unicode et offre des fonctions intégrées permettant de basculer entre majuscules et minuscules. C'est probablement vrai avec d'autres langues aussi.

+1

.NET n'est pas une langue. – mickeyf

+0

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

+3

Mais il s'applique à toutes les langues utilisant le .NET Framework, y compris C#, VB.NET, F #, etc. – Russ