ForHosting KIT · Outils pour développeurs

Calculateur tableau d'octets → entier

Les octets 0, 1, 2, 3 lus en big-endian donnent 66051, soit 0x00010203 en hexadécimal ; lus en little-endian, ils donnent 50462976. Saisissez d'un à huit octets, choisissez l'ordre et obtenez l'entier exact en décimal et en hexadécimal. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Octets
0, 1, 2, 3
Boutisme
Big
Vous obtenez
Nombre d'octets
4
Largeur en bits
32
Décimal
66051
Hex
0x00010203

Les protocoles binaires, les formats de fichiers et les paquets réseau stockent les entiers multi-octets sous forme de séquences ordonnées d’octets. Utilisez-le pour décoder des préfixes de longueur, des magic numbers, des compteurs de séquence et des champs multi-octets issus de dumps hex ou de captures de paquets.

Comment l’ordre des octets transforme un tableau en un entier

Un entier non signé multi-octets est simplement un nombre en base 256. L’ordre little-endian inverse la significativité de sorte que le premier élément du tableau est l’octet de poids faible : la valeur vaut B0×256^0 + B1×256^1 + … + Bn−1×256^(n−1). Ces deux formules expliquent pourquoi le même tableau [0x01, 0x02, 0x03, 0x04] devient 0x01020304 (16909060 en décimal) en mode big-endian et 0x04030201 (67305985 en décimal) en mode little-endian.

Les protocoles réseau comme TCP/IP, la plupart des formats filaires et de nombreux en-têtes de fichier utilisent le big-endian (ordre réseau). Les dispositions mémoire des machines x86 et x86-64, les champs PE de Windows et une large part de l’écosystème little-endian stockent le LSB en premier. Cette capacité ne devine pas votre plateforme : vous devez indiquer l’endianness explicitement pour qu’un dump hex d’une capture réseau et un dump de la mémoire d’un processus Intel se convertissent correctement.

L’implémentation accumule l’entier par des décalages exacts BigInt de huit bits par octet, de sorte que les résultats restent exacts bit à bit pour chaque largeur d’un à huit octets sans arrondi en virgule flottante.

Où un outil octets-vers-entier prouve vraiment son utilité

La rétro-ingénierie de protocoles, les défis binaires de CTF et le firmware embarqué exigent constamment de convertir de courts runs d’octets issus de dumps hex en entiers lisibles pour longueurs, décalages, horodatages et identifiants. Les scripts d’intégration continue qui analysent des en-têtes binaires fixes dans Node ou des workers de bord tirent profit d’une petite fonction pure au lieu de tirer toute une bibliothèque d’analyse binaire pour un seul champ multi-octets. Une validation en échec ne consomme pas le solde.

Limitez les requêtes à huit octets au plus (largeur courante des champs uint64), ancrez decimal et hex dans vos tests, et vous obtenez un décodage d’entiers reproductible pour laboratoires de paquets, parcours de dumps hex et automatisation sans déployer un aide shift-and-mask dans chaque langage que vous livrez.

Quelle est la différence entre big-endian et little-endian ?

Le big-endian traite le premier élément du tableau comme l’octet de poids fort (ordre réseau). Le little-endian traite le premier élément comme l’octet de poids faible (courant sur hôtes x86).

Pourquoi la longueur maximale est-elle de huit octets ?

Huit octets couvrent les largeurs non signées jusqu’à 64 bits (uint8–uint64), ce qui correspond à la plupart des champs de protocoles et de formats de fichiers. Les entiers multiprécision plus larges sont hors du périmètre de ce calculateur.

Quel ordre des octets utilisent les paquets réseau ?

Les protocoles réseau comme TCP/IP, la plupart des formats de transmission et l'en-tête de nombreux fichiers utilisent le big-endian, aussi appelé ordre réseau. La mémoire x86 et l'en-tête des exécutables Windows utilisent le little-endian : choisissez l'ordre selon la provenance de vos octets.

Pourquoi le résultat hexadécimal garde-t-il des zéros devant ?

Parce qu'il est complété à deux chiffres hexadécimaux par octet, pour que la largeur du champ reste visible : quatre octets affichent huit chiffres et un premier octet nul ne disparaît jamais. Le décimal, lui, s'affiche sans zéros initiaux.

Comment une liste d'octets devient-elle un seul nombre ?

Chaque octet est un chiffre en base 256. En big-endian, le premier octet est le plus significatif et se multiplie par la plus grande puissance de 256 ; en little-endian, le premier est celui qui pèse le moins. Le résultat reste exact jusqu'à huit octets.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/dev/bytes-to-integer

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/dev/bytes-to-integer \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"bytes":[0,1,2,3],"endianness":"big"}'
{
  "bytes": [
    0,
    1,
    2,
    3
  ],
  "endianness": "big"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.bytes_to_integer",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Les quatre mêmes octets représentent des nombres entièrement différents selon une interprétation big-endian ou little-endian ; ingénieurs et étudiants ont donc besoin d’une méthode déterministe pour convertir un tableau d’octets en un seul entier sans deviner l’ordre des décalages. Ce calculateur tableau d’octets vers entier accepte de un à huit octets non signés (chacun entre 0 et 255) et un choix d’endianness, puis renvoie l’entier non signé combiné sous forme de chaîne décimale exacte, d’un nombre JavaScript sûr lorsque la valeur tient, et d’une forme hexadécimale remplie de zéros avec le préfixe 0x.

Comment l’ordre des octets transforme un tableau en un entier

Avec n octets B0, B1, …, Bn−1 chacun dans l’intervalle 0–255, l’ordre big-endian traite B0 comme l’octet de poids fort : la valeur vaut B0×256^(n−1) + B1×256^(n−2) + … + Bn−1×256^0. Le champ optionnel decimal_number n’apparaît que lorsque le résultat non signé tient dans la plage des entiers sûrs de JavaScript (jusqu’à 2^53−1) ; les valeurs plus larges renvoient toujours la chaîne décimale exacte et l’hex afin que les clients ne perdent jamais les bits de poids faible.

Contrat d’entrée, champs de réponse et erreurs de validation

Une endianness manquante ou un jeton non reconnu échoue également avec un message clair listant les valeurs autorisées. Envoyez un corps JSON avec deux champs obligatoires. bytes est un tableau non vide d’un à huit entiers de 0 à 255 (chaînes numériques, hex préfixé 0x et binaire préfixé 0b sont aussi acceptés par élément). endianness doit être big ou little ; les alias acceptés comprennent be, le, big_endian, little_endian, msb et lsb afin que les enveloppes SDK et les formulaires humains se mappent proprement sur le même gestionnaire. Tableaux vides, plus de huit éléments, non-entiers et valeurs hors de 0–255 échouent avec invalid_input en nommant le problème ; ces échecs ne sont pas facturés. En cas de succès le corps renvoie le tableau bytes normalisé et l’endianness canonique (toujours big ou little), plus byte_count, bit_width (huit fois la longueur), decimal sous forme de chaîne en base 10 sans zéros de tête sauf pour zéro lui-même, et hex en majuscules préfixé 0x rempli à deux chiffres par octet d’entrée pour stabiliser visuellement les largeurs de champs de paquet. Lorsque l’entier est au plus Number.MAX_SAFE_INTEGER, decimal_number est inclus comme nombre JSON pour la commodité des langages qui préfèrent les types numériques ; pour les valeurs non signées plus grandes ce champ est omis plutôt que mis à null, conformément à la règle du framework selon laquelle les sorties optionnelles disparaissent au lieu de polluer les clients avec null. Exemple : bytes [0, 1, 2, 3] avec endianness big donne decimal 66051, hex 0x00010203, bit_width 32 et decimal_number 66051. Les mêmes octets en little endianness donnent decimal 50462976 et hex 0x03020100.

Où un outil octets-vers-entier prouve vraiment son utilité

Les enseignants qui expliquent l’endianness ont besoin d’un oracle en direct qui ne bascule que le drapeau d’ordre des octets en gardant le tableau fixe, afin que les étudiants voient pourquoi l’ordre réseau et l’ordre hôte divergent sur le même dump mémoire. Les sites de documentation qui se positionnent sur calculateur tableau d’octets vers entier ou convertisseur d’endianness gagnent un chemin navigateur gratuit qui correspond octet pour octet à l’API payante sur le même module, de sorte que les widgets marketing ne mentent jamais sur le comportement en production. Parce que l’implémentation est pure parse de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant.

Décoder des champs multi-octets depuis des dumps hex de paquets

Collez les octets de longueur, de port ou de numéro de séquence d’une capture, choisissez big ou little endian, et lisez l’entier décimal exact et l’hex rempli du champ.

Enseigner l’endianness avec un tableau d’octets fixe

Gardez les octets [0x12, 0x34, 0x56, 0x78] fixes, basculez l’endianness et montrez aux étudiants comment l’ordre réseau et le little-endian hôte produisent des entiers différents.

Contrôles CI pour parseurs d’en-têtes binaires

Vérifiez que votre dépaqueteur propre au langage coïncide avec cet oracle déterministe pour les cas 1–8 octets big et little endian sans dérive en virgule flottante.

Comment convertir un tableau d’octets en un entier ?

Envoyez bytes comme un tableau de 1–8 entiers de 0–255 et endianness comme big ou little. L’API renvoie la valeur non signée combinée en décimal (chaîne) et hex (préfixe 0x, rempli de zéros).

Quand decimal_number est-il omis ?

Lorsque le résultat non signé dépasse la plage des entiers sûrs de JavaScript (2^53−1). La chaîne décimale exacte et l’hex sont toujours présents ; le champ numérique optionnel est omis plutôt que null.

Combien coûte le calculateur tableau d’octets vers entier ?

L’outil navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n’est pas facturée.

Consulter la documentation complète du KIT →