• Comment faire pour...

    Les réponses aux questions fréquement posées.

    FAQ

  • 1

Comment lire un contenu hexadécimal

La lecture de la chaine hexadécimale d'un fichier binaire peut être réalisée par la fonction fLit() et moyennant un petit subterfuge dans la lecture des caractères.

En effet fLit() est conçue nativement pour une lecture de fichier texte et propose directement une conversion en code ascii des caractères lus.

L'idée est alors de d'utiliser la résolution automatique des types et un entier non signé sur 1 octet (0...255) facile à convertir en hexadécimal.

Ensuite, on peut faire ce que l'on veut...

cFichier est une chaine // contenu hexa du fichier
// Ouverture du fichier
nIdfic est un entier = fOuvre(MonFichier, foLecture)
SI nIdfic=-1 ALORS
    Erreur('L'ouverture du fichier a échoué')http://www.wdforge.org/administrator/index.php?option=com_content&view=article&layout=edit&id=101#
SINON
    // récupère le nombre d'octets à lire 
    nbcar est un entier = fPositionne(nIdfic,0,fpFin)
    ncar est un entier
    fPositionne(nIdfic,0,fpDébut)
    sCar est un entier sans signe sur 1 octet
    fLit(nIdfic,1,&sCar)    // nouvelle syntaxe : par adresse
    TANTQUE ncar < nbcar
        ncar++
        // traitement de l'octet
        // conversion de l'entier en valeur hexa
        cfichier+=NumériqueVersChaine(sCar,'02X')
        // octet suivant                        
        fLit(nIdfic,1,&sCar)
    FIN
    // Fermeture du fichier
    fFerme(nIdfic)
FIN

Participez à nos FAQs

Proposez vos questions réponses...

Nos FAQs comportent les réponses aux questions fréquemment posées : 'Comment je fais...' et 'Le saviez-vous...'.
Vous pouvez participer en spécifiant la question et la réponse à publier dans le formulaire.

 Bientôt un nouveau formulaire

image image