En tant que développeur d'applications, dois-je connaître Unicode?
Réponses
Trop de publicités?Unicode est une norme qui définit des codes numériques pour les glyphes utilisés dans la communication écrite. Ou, comme ils le disent eux-mêmes:
La norme numérique la représentation des caractères utilisés dans l'écriture de tout le monde les langues. Unicode fournit un uniforme des moyens de stockage, de recherche, et d'échanger du texte dans toutes les langues. Il est utilisé par tous les ordinateurs modernes et est la fondation pour le traitement de texte sur l'Internet. Unicode est développé et géré par le Consortium Unicode.
Il ya beaucoup de commune, et pourtant faciles à éviter, les erreurs de programmation commis par des développeurs qui n'est pas la peine de se renseigner sur l'Unicode et ses encodages.
- Tout d'abord, aller à la sourcepour faisant autorité, des informations détaillées et la mise en œuvre des lignes directrices.
- Comme mentionné par d'autres, Joel Spolsky a une bonne liste de ces erreurs.
- J'aime aussi Elliotte Rusty Harold Les dix Commandements de l'Unicode.
- Les développeurs doivent aussi surveiller représentation canonique des attaques.
Certains des concepts clés que vous devriez être au courant sont:
- Glyphes—béton graphiques utilisés pour représenter les caractères.
- Composition—la combinaison des glyphes pour créer un autre glyphe.
- L'encodagede conversion Unicode points en un flux d'octets.
- Classement—sensibles aux paramètres régionaux de comparaison de chaînes Unicode.
Au risque de juste ajouter un autre lien, unicode.org est un spectaculaires de ressources.
En bref, c'est un remplacement pour l'ASCII qui est conçu pour traiter, littéralement, chaque personnage déjà utilisé par les humains. Unicode a plusieurs systèmes de codage pour gérer tous les caractères UTF-8, qui est plus ou moins la norme de ces jours, fonctionne vraiment difficile de rester un seul octet par caractère, et il est identique au format ASCII pour les 7 premiers bits.
(Comme un additif, il y a une fausse idée populaire parmi les programmeurs que vous avez seulement besoin de savoir sur Unicode si vous allez faire de l'internationalisation. Alors que c'est certainement l'un de l'utilisation, ce n'est pas le seul. Par exemple, je travaille sur un projet qui ne jamais les utiliser, texte en anglais - mais aussi avec un grand nombre des grands symboles mathématiques. Déplacement de l'ensemble du projet pour être pleinement Unicode de résoudre plus de problèmes que je peux compter.)
Cet article de Joel Spolsky devrait vous aider beaucoup.