Conversion de chaine ASCII->Unicode
Bonjour.
J'ai eu beau chercher (MSDN, FAQ & Forums, google...) je ne trouve rien pour convertir proprement et simplement une chaine ascii (du bon vieux char*) en une chaine unicode.
La seule fonction que j'ai trouvée (grâce a ce forum d'ailleurs) c'est la fonction mbtowc, qui transforme du MultiByte en WideChar. Ayant cherché et compris le fonctionnement du Multibyte charset, je dois admettre que ça fonctionnera vraissemblablement très bien pour convertir du texte sans caractères ascii exotiques. Mais dans le principe, ça me parait anormal d'avoir recours à une interpretation approximative de mon ASCII en Multibyte pour pouvoir en faire de l'unicode.
N'y a t-il aucune fonction de base pour faire ça ? c'est quand meme une manipulation de chaine de base !
Merci de votre aide.
Multibyte regroupe plusieurs char sets...
c'est intéressant (merci).
Mais alors quand j'utilise la fonction mbtows, si "Multibyte" ça peut vouloir dire plusieurs charset, comment cette fonction interprete-t-elle ma chaine de char ?
(note:J'ai employé le terme Multibyte tel que je l'ai compris dans la MSDN.)
cela dépend d'un reglage windows courant ? (genre je suis en français donc c'est de l'ascii étendu ou qqchose comme ça ? )
Moi je cherche juste a remplir une chaine unicode:
unsigned short ChaineU[100]
a partir de la chaine :
char chaine1[100] = "blabla";
N'y a-t-il pas un moyen indépendant du charset local français de mon pc sur le quel je compile ?
Comme tu le dis, il suffit de copier les char dans des wchar (j'en était pas sur c'est pour ça que j'ai pas osé), c'est pourquoi je m'étonne de ne pas trouver une fonction toute faite...