Unicode en C++

Fermé
ceplus - 15 mars 2012 à 18:37
mamiemando Messages postés 33093 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2024 - 15 mars 2012 à 21:04
Bonjour,


Ma question est simple : comment peut-on trouver le code UNICODE d'un caractère quelconque en C++. par exemple en lisant un caractère à partir d'un fichier, afficher son code UNICODE. j'ai bcp cherché mais rien..

1 réponse

mamiemando Messages postés 33093 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2024 7 752
15 mars 2012 à 21:04
En fait il faut bien comprendre que pour de l'unicode, tu dois utiliser les fonctions associées au wchar (qui fonctionnent sur le même principe que les fonctions pour les caractères ascii). Attention car les chaînes manipulées sont des chaînes unicodes, qui sont préfixées par un "L" (voir exemple ci-dessous)

#include <iostream>
#include <cwchar>

int main(){
    wchar_t c;
    for(wchar_t wc = 100; wc < 110; ++wc) {
        wprintf(L"%d > %c\n", wc, wc);
    }
    return 0;
}


Ici je prends les caractères unicode 100 à 109 mais tu peux prendre n'importe quelle valeur comprise entre 0 et 65535. Pour que le caractère s'affiche, il faut que le terminal dans lequel tu l'écris utilise une police qui permette d'afficher le caractère (par exemple les caractères asiatiques).

Bonne chance
0