Outil pour convertir facilement des nombres en format LEB128 ou depuis LEB128 vers décimal, binaire ou hexadécimal. Compatible avec les valeurs signées et non signées, conversion rapide et précise en ligne.
LEB128 - dCode
Catégorie(s) : Codage de Caractères
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !
Le LEB128 (Little Endian Base 128) est une méthode de codage compacte utilisée pour représenter des entiers de taille variable. Ce format encode les nombres en utilisant des groupes de 7 bits par octet, ce qui permet de réduire la taille des valeurs numériques petites tout en conservant la capacité de représenter des entiers très grands. Il existe deux variantes principales : ULEB128 (Unsigned LEB128) pour les valeurs non signées et SLEB128 (Signed LEB128) pour les valeurs signées.
Pour encoder un entier en LEB128 :
— Convertir le nombre en binaire (base 2)
Exemple : Le nombre 1234 se code 10011010010
— Diviser le nombre en blocs de 7 bits (et compléter avec des 0 à gauche si besoin)
Exemple : 0001001/1010010
— Placer les 7 bits de poids faibles (droite) dans le premier octet
— Mettre à 1 le bit de continuation (bit 8, poids fort) si un autre octet suit, sinon mettre 0
— Répéter jusqu'à ce que tous les bits soient encodés
Exemple : Le premier octet contient 11010010 (0xd2), le second 00001001 (0x09). 1234 se code 1101001000001001 (0xd209)
Si le nombre est négatif, alors appliquer un complément à 2 sur le nombre binaire en entrée.
Pour décoder une séquence LEB128 :
— Lire les octets un par un.
— Extraire les 7 bits de poids faible de chaque octet et les concaténer dans l'ordre inverse de lecture
— Continuer tant que le bit de continuation (bit 8, poids fort) est à 1
— Recomposer la valeur binaire finale à partir des bits accumulés
Si le nombre est signé, alors appliquer un complément à 2 sur la valeur binaire obtenue et considérer ce nombre comme négatif.
Une valeur LEB128 se reconnaît à sa structure binaire [1.......][1.......]...[0.......]
Chaque octet a son bit de poids fort (bit 8) à 1, sauf le dernier qui a ce bit à 0
ULEB128 : encode les entiers non signés (unsigned, positifs)
SLEB128 : encode les entiers signés (signed, négatifs)
Utiliser LEB128 permet de stocker des nombres de toutes tailles (y compris très grands, taille arbitraire) tout en économisant de l'espace mémoire pour les petits entiers.
Le VLQ (Variable-Length Quantity) est un concept similaire pour le stockage des entiers. La différence majeure est que LEB128 est little-endian (les bits les moins significatifs d'abord), alors que VLQ est big-endian (les bits les plus significatifs d'abord)
dCode se réserve la propriété du code source pour "LEB128". Tout algorithme pour "LEB128", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "LEB128" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou toute base de données, ou accès API à "LEB128" ou tout autre élément ne sont pas publics (sauf licence open source explicite). Idem avec le téléchargement pour un usage hors ligne sur PC, mobile, tablette, appli iPhone ou Android.
Rappel : dCode est une ressource éducative et pédagogique, accessible en ligne gratuitement et pour tous.
Le contenu de la page "LEB128" ainsi que ses résultats peuvent être copiés et réutilisés librement, y compris à des fins commerciales, à condition de mentionner dCode.fr comme source (Licence de libre diffusion Creative Commons CC-BY).
L'export des résultats est gratuit et se fait simplement en cliquant sur les icônes d'export ⤓ (format .csv ou .txt) ou ⧉ copier-coller.
Pour citer dCode.fr sur un autre site Internet, utiliser le lien :
Dans un article scientifique ou un livre, la citation bibliographique recommandée est : LEB128 sur dCode.fr [site web en ligne], consulté le 19/10/2025,