Conversion hexa vers utf8

Signaler
Messages postés
13
Date d'inscription
mercredi 22 février 2006
Statut
Membre
Dernière intervention
19 mars 2008
-
Messages postés
13
Date d'inscription
mercredi 22 février 2006
Statut
Membre
Dernière intervention
19 mars 2008
-
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

Messages postés
169
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
7 avril 2008
2
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
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
c'est du VB.Net.....

tout ne tourne pas autour de VBA, lol

Renfield
Admin CodeS-SourceS - MVP Visual Basic
Messages postés
13
Date d'inscription
mercredi 22 février 2006
Statut
Membre
Dernière intervention
19 mars 2008

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