Étape 5: Read_Byte_from_File()
Un peu à comprendre à propos des fichiers hexagonales est que les données sont effectivement stockées en tant que caractères ASCII. Quand nous ouvrons un pointeur de fichier à ces caractères ASCII, nous ne pouvons pas juste lire les octets, puisqu’ils seraient simplement un caractère ASCII représentant le grignotement lire. Pour la conversion nous obtenir un caractère, stockez-le comme un binaire grignoter A, obtenir un autre personnage et stocker en tant que binaire nibble B. Ensuite, nous combinons nibble A et B dans un seul octet.
La fonction prend trois paramètres : le pointeur de fichier, d’un pointeur d’uint8_t pour stocker l’octet complet et le total_chars_read, qui nous permet de suivre combien nous sommes loin dans le fichier.
- 6: déclaration d’un entier de 8 bits unsinged de tenir l’octet fini.
- 8: obtenir un caractère ASCII à partir du fichier pointer.9 : ici, nous appelons la fonction cleaer_special_char pour supprimer « \n » et « \r » dans le fichier hex.
- 11 : nous convertissons ensuite le caractère ASCII en un vrai grignotement binaire. Le résultat est stocké dans la chaîne. (Je vais aborder la fonction de Ascii2Hex ci-dessous). Les étapes ci-dessus sont répétées pour nibble B.
- 18 : nous combinons la chaîne de nibbles dans un octet.
- 26 : nous incrémentons deux caractères ASCII lire depuis le pointeur de fichier.