# Coder avec Unicode

Un livre-guide appartenant à la série Programmation tout comme à l'étagère Informatique de Wikilivres.
Il s'adresse aux développeurs ayant à manipuler du texte et autres chaînes de caractères. Il suppose une connaissance générale d'Unicode de l'ordre de ce qui est exposé dans le wiki-livre À la découverte d'Unicode.
De par sa nature technique, cet ouvrage ne pourra sans doute être compris que par des développeurs ou des personnes ayant des connaissances équivalentes en développement du logiciel.
    Ébauche
* 8/800
* 6/68/681/681.3/681.3.0
Le texte
* Structure de donnée
* Conventions
* Conversion
* Normalisation
* Équivalence
Les interfaces
* L' accès aux fichiers 𝓌
* Passage de paramètres ⺇
* Entrées & sorties ϐ
* Entrées & sorties ϐ
* Interfaces graphiques et web ϐ
Les algorithmes
Annexes
* Glossaire A
* Autres lectures sur Unicode 📖
Le texte
* Structure de donnée
* Conventions
* Conversion
* Normalisation
* Équivalence
Les interfaces
* L' accès aux fichiers 𝓌
* Passage de paramètres ⺇
* Entrées & sorties ϐ
* Entrées & sorties ϐ
* Interfaces graphiques et web ϐ
Les algorithmes
Annexes
* Glossaire A
* Autres lectures sur Unicode 📖
[ Modifier le sommaire ]
L' objectif de ce livre est de répondre à des questions pratiques sur le développement de logiciel interopérable en Unicode.
Ce livre est nécessaire car le sujet est trop technique pour être détaillé dans le wikilivre À la découverte d'Unicode, cependant ce standard est d'une importance sans précédant vu qu'il sert à coder le texte et donc à échanger les idées à travers le monde tout en étant incontournable dans les technologies de l'information.
Ce livre est d'autant plus nécessaire que les textes traitant du sujet se trouvent trop fréquemment être en langue anglaise ou disséminés de manière peu pratique.

## Introduction

L'apprentissage du développement dans une première approche naïve peut avoir tendance à faire abstraction de la problématique du codage de caractères.
Si historiquement, chaque système technique et chaque système culturel dispose de ses propres conventions sur le codage de texte, le développement de logiciels que l'on souhaite interopérables pose rapidement des questions pratiques : quel est l'encodage utilisé pour l'échange de texte, quelle API utiliser pour bénéficier des apports d’Unicode tout en étant interopérable, quelle normalisation, etc …
La plus spécieuse des platitudes consistant dans une réponse indiquant que cela importe peu et que si l'on gère une chaîne d'octets, les utilisateurs arriveront peut-être plus ou moins à s'en débrouiller. C'est oublier que cette attitude consiste bien souvent à se défausser du problème en l'exposant à un utilisateur candide qui ne saura pas comment l'appréhender de manière satisfaisante.
Unicode les dépasse, et à titre d'illustration, vous trouverez ci-après, un petit sous-ensemble des caractères qu'Unicode permet de gérer :
€ ← ↗ ▼ ↷ ” 「 」 『 』 ※ ― … ✓ ᴂ λ ∉ ⋂ ≠ ≥ ≈ ℕ ♠ ➅ ♫ ♬ 太
Comme l'explique le wiki-livre À la découverte d'Unicode, le sujet d'Unicode est un sujet plus vaste que de simplement assigner un dessin à chaque octet. Le présent livre vous guidera dans la mise en œuvre d'Unicode dans différents langages de programmation.

## Conseil

Pour développer des logiciels fonctionnant avec Unicode, il faut travailler dans un environnement informatique qui prend en charge cette technologie.
Parmi les environnements à éviter, on compte le système MS-DOS ainsi que les applications en mode Microsoft Console.
Les environnements qui permettront de mettre en œuvre efficacement Unicode sont :
* sous Windows les applications en mode graphique, utilisant les fonctions de l'API Unicode (noms des fonctions suffixées par la lettre W),
* sous Linux, toutes les applications. (Il existe des applications offrant les fonctionnalités d'une console sous Linux, mais le système ne caractérise pas les logiciels entre un mode graphique et un mode console). Il est toutefois souhaitable d'avoir un système récent, où les paramètres régionaux sont positionnés sur de l'utf-8. C'est sans doute le cas de la plupart des distributions Linux distribuées depuis 2010.

## Révisions récentes

En raison de la nature interactive du site wikibooks, le livre peut être sujet à mise à jour. Les plus récentes de ces modifications peuvent être suivies par la page suivante qui donne les modifications récentes ayant eu lieu sur les deux derniers mois environ.
Révisions récentes