Unicode, Long et Vb

poupyman Messages postés 62 Statut Membre -  
poupyman Messages postés 62 Statut Membre -
Bonjour,
j'ai une colle pour les dieux du vb qui trainent dans le coin (vous cachez pas ! je sais que vous êtes là !)

J'ai une focntion api qui renvoie le code unicode d'un caractère sous la forme d'un long. Or j'ai besoin de comparer ce caractère (le long) avec un autre (genre "C"). La question c'est comment convertir ce long en une chaine vb ou l'inverse...

J'ai essayé de comparer directement mon long avec une chaine de caractère, mais comme je m'en doutais, ça a pas marché, donc comment je peux faire ? est-ce-qu'il y a des fonctions qui me permettraient de reconstruire une chaine de caractère à partir de mon long ? ou de récupérer le code unicode d'un caractère d'une chaine ?

Merci d'avance

3 réponses

maily Messages postés 7560 Statut Contributeur 453
 
Bonjour!!!

Tu as essayé avec la fonction
Cstr(expression)
?

bon courage!

Maily   :-))))
0
sebsauvage Messages postés 33415 Statut Modérateur 15 663
 
Arg.

Si ton caractères unicode a un code inférieur à 128, c'est bon !
De 32 à 128, Unicode et ASCII ont les mêmes caractères.

Au delà de 128, c'est plus difficile.
Ta chaîne ASCII utilise quel encodage ?
latin-1, cp850, iso8859, autre ?

(Par exemple, selon l'encodage ASCII choisi, le caractères Unicode 'é' aura une valeur ASCII différente (ou même n'existera pas du tout dans certains encodages !)).

Je n'ai jamais fait mumuse avec Unicode en VB, mais en Python j'ai une méthode encode() et decode() pour convertir entre Unicode et l'ASCII de mon choix.
0
poupyman Messages postés 62 Statut Membre 15
 
maily> CStr me renvoie une chaine contenant le nombre écrit en toute lettre, donc pas glop

sebsauvage> c'est pas une chaine ASCII, mais bien unicode vu que je travaille en vb... donc la conversion ne pose pas de problème, mais je ne vois pas de moyen d'en extraire un caractère vu qu'il n'y a pas à ma connaissance de type de variable 'caractère unicode', et encore moins d'en récupérer la valeur numérique correspondant à ce caractère
0