====== Caractères ====== En Python, on ne fait de différence entre caractère et chaîne. Un caractère est simplement une chaîne contenant un seul caractère. C'est différent en C. ===== Le type char ===== char lettre = 'A'; **Important :** ce sont des guillemets simples. Ne confondez pas avec ''%%"..."%%''. Si vous avez bien suivi, dans le chapitre sur les [[.:types|types]], vous avez vu que ''%%char%%'' était un type d'entier codé sur un octet. Eh bien ''%%lettre%%'' contient effectivement un entier. char lettre = 'A'; printf("%d\n", lettre); // affiche 65 printf("%c\n", lettre); // affiche A Tout dépend donc de ce que l'on choisit comme affichage. On peut très bien faire des calculs avec ''%%lettre%%'' car, encore une fois, c'est un entier ! Mais avec le formatage ''%%"%c\n"%%'' on peut interpréter cet entier comme un code de caractère ce qui conduit à l'affichage de ce caractère. ===== Encodage ===== L'encodage utilisé est compatible avec ASCII. Donc vous n'aurez pas de problème tant que vous en tiendrez à l'ASCII. Les compilateurs C actuels savent gérer utf8, mais un ''%%char%%'' n'est qu'un octer. Cette ligne lèvera donc une erreur : char c = 'é'; En effet, en utf8, le caractère ''%%'é'%%'' nécessite deux octets, donc deux ''%%char%%''. En quelque sorte, ''%%'é'%%'' est à lui tout seul une chaîne de deux caractères.