Conversion hexa vers utf8

VBsnail Messages postés 13 Date d'inscription mercredi 22 février 2006 Statut Membre Dernière intervention 19 mars 2008 - 22 mars 2006 à 00:03
VBsnail Messages postés 13 Date d'inscription mercredi 22 février 2006 Statut Membre Dernière intervention 19 mars 2008 - 22 mars 2006 à 17:28
Je désire calculer le codage utf8 pour un pointcode Unicode.
(j'utilise cela pour générer des url en chinois)
J'ai écrit ça, mais je trouve que ce n'est pas très beau à voir.
Dim quartet3
As
Integer = 0

Dim quartet4
As
Integer = 0

Dim utf8
As
String =
""

Dim Car
As
Char = "如"
'caractère à convertir 如=%E5%A6%82
Dim ArrayTexte
As
Char()

utf8 = Hex(AscW(Car))
' passer de Char à une chaine hexa
ArrayTexte = utf8.ToCharArray ' mettre la chaine dans un tableau
quartet3 = 128 + (Convert.ToInt16(ArrayTexte(1), 16) * 4) + (Convert.ToInt16(ArrayTexte(2), 16) / 4)
quartet4 = 128 + (Convert.ToInt16(ArrayTexte(2), 16)
Mod 4) * 16 + (Convert.ToInt16(ArrayTexte(3), 16))
utf8 = "%E" + ArrayTexte(0) + "%" + Hex(quartet3) + "%" + Hex(quartet4)

Quelqu'un a-t-il une meilleure idée ??

3 réponses

kalobit Messages postés 169 Date d'inscription mardi 15 juillet 2003 Statut Membre Dernière intervention 7 avril 2008 2
22 mars 2006 à 15:43
excuse moi mais je suis pas sur que ce soit du VBA là, à moins que t'ais défini des types personnalisés (Char par exemple).
Si t'avais des explication sur tes fonctions de conversion aussi ( convert.ToInt16 connais pas non plus)

et l'affectation de valeur dans une déclaration de type c'est pas VBA du tout non plus.

voilà. un peu plus d'infos serait bien venu.
Si tu peux nous décrire le format utf8 ce serait pas mal non plus.

+++
K@lobit
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
22 mars 2006 à 15:47
c'est du VB.Net.....

tout ne tourne pas autour de VBA, lol

Renfield
Admin CodeS-SourceS - MVP Visual Basic
0
VBsnail Messages postés 13 Date d'inscription mercredi 22 février 2006 Statut Membre Dernière intervention 19 mars 2008
22 mars 2006 à 17:28
Oui, c'est du Visual basic Express edition 2005. Mais alors, où dois-je poster ?

Pour ce qui est d'utf-8, voir :
http://fr.wikipedia.org/wiki/Utf-8
0
Rejoignez-nous