Conversion big-endian en litle-endian

Contenu du snippet

lorsque l'on veut utiliser des données binaires créées à partir d'une station UNix, il est difficile de les lires avec un PC. Car les données binaires sont inversées. Sous station les données binaires sont de type Big-endian et sous PC de type Litle endian.(inversement des deux chaines d'octets). Donc voici un exemples de code permettant de lire du Big endian avec VB6. Je mesuis inspiré d'un code qui le faisait avec des long ici je le fait avec de integer cours(16 octets)

Source / Exemple :


Type intType
    L As Integer
End Type

Type DWordType 'division de l'integer en 2*8octets pour faire l'inversion
    High As Byte
    Low As Byte
End Type

Sub Swap(LE As Integer, swapwords As Integer)' procedure permettant d'inverser les 2*8Octets
    Dim TempLong As intType
    Dim TempDWord As DWordType
    Dim TempInt As Byte
    TempLong.L = LE
    LSet TempDWord = TempLong
    TempInt = TempDWord.High
    TempDWord.High = TempDWord.Low
    TempDWord.Low = TempInt
    LSet TempLong = TempDWord
    swapwords = TempLong.L
End Sub

Conclusion :


pour les integer long
il suffit de déclarer L, LE et Swapwords en long
et high,lowet tempint en integer

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.