Savoir comment convertir

petiflamand Messages postés 675 Date d'inscription samedi 31 mai 2003 Statut Membre Dernière intervention 26 mai 2013 - 15 juin 2011 à 22:32
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 15 juin 2011 à 23:48
Bonjour ,
je reçois des donnée d'un synthé yamaha via le port midi , ces donnée sont dans ce format
soit
260329131241960169904260339131341960179905260359131541960199907260349131441960189906254
soit
65B0164B04006B026B065B1164B14006B126B165B3164B34006B326B365B2164B24006B226B2FE
et je voudrais les convertir en format de ce type
000000 4D 54 68 64 00 00 00 06 00 01 00 02 01 80 4D 54 MThd..........MT
000010 72 6B 00 00 00 55 00 FF 03 08 75 6E 74 69 74 6C rk...U....untitl
000020 65 64 00 FF 01 01 0A 00 F0 05 00 00 04 00 F7 00 ed..............
000030 FF 58 04 04 02 18 08 00 FF 59 02 00 00 00 FF 51 .X.......Y.....Q
Comment je doit faire
merci

1 réponse

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
15 juin 2011 à 23:48
Salut

Il te suffit de lire les données hexadécimales, de les découper par paquets de 2 digits (1 octet) et de convertir chaque octet en son caractère ASCII équivalent.
Bien sûr, certains code ne représentent pas des lettres, donc ne sont pas affichables = les points.

Découpage : For ... Step 2-Next, Mid$
Hexa -> décimal : Val("&h" & LeCodeHexaEnChaine)
Décimal -> Ascii : Asc

Dans ton tableau, la colonne de gauche désigne l'offset de la première donnée de la ligne, exprimé en hexa.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous