Le format de ficher .fen
fait partie d'un projet d'étudiant réalisé durant des études à l'INSA de Rouen. Ce format a été conçu par Vespier Michel.
L'en-tête du fichier va être composé de l'arbre utilisé pour encoder les valeurs.
Chaque nœud d'un arbre peut être de deux types différents : soit une branche, soit une feuille.
Afin de différencier les branches et les feuilles, on utilise le bit le plus fort.
Afin d'encoder les feuilles, on va utiliser 1 + len(label)
octets.
Le premier octet est composé du bit indicatif d'une feuille - le bit le plus fort - et de sept autres bits représentant la longueur du label.
Ainsi, un label peut contenir en tout 127 caractères.
Les caractères sont enregistrés en UTF-8.
Afin d'encoder les branches, on va utiliser 1
octet.
L'octet est composé du bit indicatif d'une branche - le bit le plus fort - et de sept bits qui ne représentent aucunes données.
Dans une future version du format de fichier, on pourra représenter les branches avec uniquement un seul bit.
Afin de pouvoir retrouver exactement le même arbre entre l'écriture et la lecture du fichier, il faut garder un ordre de description des données.
Voir Encodage > Feuille.
Exemple :
La représentation d'une feuille ayant pour labela
est0x01 0x61
.
Les branches sont représentés d'abord par leur octet indicatif, puis par la représentation de leur enfant gauche - représenté par un 0
- puis de leur enfant droit - représenté par un 1
-.
Exemple:
La représentation d'une branche ayant pour enfant deux feuillesa
etb
est donc0x80 0x01 0x61 0x01 0x62
.