ANSI >>> Unicode

cs_Stormy Messages postés 255 Date d'inscription samedi 20 avril 2002 Statut Membre Dernière intervention 16 janvier 2007 - 20 févr. 2005 à 01:13
cs_Stormy Messages postés 255 Date d'inscription samedi 20 avril 2002 Statut Membre Dernière intervention 16 janvier 2007 - 20 févr. 2005 à 21:35
Existe t'il une fonction pour la conversion immédiate d'une chaîne de caractères ANSI en UNICODE? Merci++

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 févr. 2005 à 09:43
sous Windows: MultiByteToWideChar()

ciao...
BruNews, MVP VC++
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
20 févr. 2005 à 10:46
Brunews > On peut faire cette conversion avec des pointeurs nan ?
Exemple :

TCHAR wcTab[64], *wc = wcTab;
char cTab[] = "Coucou", *c = cTab;

while (*c) *wc++ = *c++;

Je l'ai testé personnellement dans un programme, et ca marche, mais est ce bien ?

+2(p - n)
0
simtiers Messages postés 207 Date d'inscription jeudi 3 avril 2003 Statut Membre Dernière intervention 2 novembre 2006
20 févr. 2005 à 10:51
Dites les gars,

- c'est quoi l'interet de l'UNICODE ?

- idem pr TCHAR

- comment les utiliser dans un programme console ?

- lequel est le mieux (ASCII, ANSI, UNICODE, TCHAR)



=> Comment porter facilement une app écrite au standard : char* ... à une app en TCHAR ou UNICODE ?
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
20 févr. 2005 à 11:06
AlexMAN > je préfère laisser le soin à l'API de gérer toute l'étendue des tables de caractères, c'est fait pour. Pas envie d'avoir un jour un bug introuvable.

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
20 févr. 2005 à 11:37
simtiers > TCHAR == UNICODE, les caracteres seront codés sur 2octets contre 1 pour char. L'interet est d'afficher des caracteres qu'on ne peut pas coder avec la norme ANSI comme le chinois etc...
Pour Pocket PC par exemple, il faut utiliser UNICODE obligatoirement.

+2(p - n)
0
bayeto Messages postés 224 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 18 octobre 2010
20 févr. 2005 à 13:11
@simtiers: TCHAR est dependant du contexte, si on est en unicode, TCHAR equivaut à un wchar_t, sinon a un char.
Ca permet un portage d'application ansi->unicode.
0
cs_Stormy Messages postés 255 Date d'inscription samedi 20 avril 2002 Statut Membre Dernière intervention 16 janvier 2007
20 févr. 2005 à 21:35
Soit, c'est hyper technique (capte rien) soit je me suis mal exprimé. Ayant plus d'aisance sous Perl, voici l'équivalence de ce que je recherche (si ça peut vous aider):

$cmd = $ARGV[1];
$cmd =~ s/(.)/"%".uc(sprintf("%2.2x",ord($1)))/eg;

En d'autres termes, l'expression UNICODE d'un argument console (argv[1]) noté en classique ANSI. Encore merci ++
0
Rejoignez-nous