ForHosting KIT · Strumenti per sviluppatori

Calcolatore array di byte in intero

I byte 0, 1, 2, 3 letti in big-endian formano 66051, cioè 0x00010203 in esadecimale; letti in little-endian formano 50462976. Inserisca da uno a otto byte, scelga l'ordine e ottenga l'intero esatto in decimale ed esadecimale. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto
Se inserisce
Byte
0, 1, 2, 3
Ordine dei byte
Big
Ottiene
Numero di byte
4
Larghezza in bit
32
Decimale
66051
Hex
0x00010203

I protocolli binari, i formati di file e i pacchetti di rete memorizzano interi multi-byte come sequenze ordinate di ottetti. Gli stessi quattro ottetti rappresentano numeri del tutto diversi se interpretati in big-endian oppure little-endian, quindi ingegneri e studenti necessitano di un metodo deterministico per convertire un array di byte in un singolo intero senza indovinare l’ordine degli shift. Questo calcolatore da array di byte a intero accetta da uno a otto valori di byte senza segno (ciascuno tra 0 e 255) e una scelta di endianness, quindi restituisce l’intero senza segno combinato come stringa decimale esatta, un numero JavaScript sicuro quando il valore vi entra, e la forma esadecimale con zeri di riempimento e prefisso 0x. Lo usi per decodificare prefissi di lunghezza, magic number, contatori di sequenza e campi multi-byte da dump hex o catture di pacchetti.

Come l’ordine dei byte trasforma un array in un intero

Un intero senza segno multi-byte è semplicemente un numero posizionale in base 256. Con n byte B0, B1, …, Bn−1 ciascuno nell’intervallo 0–255, l’ordine big-endian tratta B0 come byte più significativo: il valore è B0×256^(n−1) + B1×256^(n−2) + … + Bn−1×256^0. L’ordine little-endian inverte la significatività così che il primo elemento dell’array è il byte meno significativo: il valore è B0×256^0 + B1×256^1 + … + Bn−1×256^(n−1).

Quelle due formule spiegano perché lo stesso array [0x01, 0x02, 0x03, 0x04] diventa 0x01020304 (16909060 in decimale) in modalità big-endian e 0x04030201 (67305985 in decimale) in modalità little-endian. Protocolli di rete come TCP/IP, la maggior parte dei formati di rete e molti header di file usano big-endian (ordine di rete). Layout di memoria delle macchine x86 e x86-64, campi PE di Windows e gran parte dell’ecosistema little-endian memorizzano l’LSB per primo.

Questa capacità non indovina la Sua piattaforma: Lei deve indicare l’endianness in modo esplicito affinché un dump hex da una cattura di rete e un dump della memoria di un processo Intel si convertano entrambi correttamente. L’implementazione accumula l’intero con shift esatti BigInt di otto bit per byte, così i risultati restano esatti bit a bit per ogni larghezza da uno a otto byte senza arrotondamento in virgola mobile.

Dove uno strumento da byte a intero dimostra il proprio valore

Il reverse engineering di protocolli, le challenge binarie CTF e il firmware embedded richiedono di continuo di convertire brevi sequenze di byte da dump hex in interi leggibili per lunghezze, offset, timestamp e identificatori. I docenti che spiegano l’endianness necessitano di un oracolo live che inverta solo il flag di ordine dei byte tenendo l’array fisso, così gli studenti vedono perché l’ordine di rete e quello dell’host divergono sullo stesso dump di memoria.

Script di integrazione continua che analizzano header binari fissi in Node o edge worker traggono vantaggio da una piccola funzione pura invece di tirarsi dietro un’intera libreria di parsing binario per un solo campo multi-byte. La validazione fallita non consuma saldo. Mantenga le richieste a al massimo otto byte (la larghezza comune dei campi uint64), fissi decimal e hex nei test e ottiene una decodifica di interi riproducibile per laboratori di pacchetti, walkthrough di dump hex e automazione senza erigere un helper di shift-and-mask in ogni linguaggio che distribuisce.

Decodificare campi multi-byte da dump hex di pacchetti

Incolli byte di lunghezza, porta o numero di sequenza da una cattura, scelga big o little endian e legga l’intero decimale esatto e l’hex riempito del campo.

Controlli CI per parser di header binari

Verifichi che il Suo unpacker specifico del linguaggio coincida con questo oracolo deterministico per casi da 1–8 byte big e little endian senza deriva in virgola mobile.

Qual è la differenza tra big-endian e little-endian?

Big-endian tratta il primo elemento dell’array come byte più significativo (ordine di rete). Little-endian tratta il primo elemento come byte meno significativo (comune su host x86).

Perché la lunghezza massima è di otto byte?

Otto byte coprono larghezze senza segno fino a 64 bit (uint8–uint64), in linea con la maggior parte dei campi di protocolli e formati di file. Interi multiprecisione più ampi restano fuori dallo scopo di questo calcolatore.

Quale ordine dei byte usano i pacchetti di rete?

I protocolli di rete come TCP/IP, la maggior parte dei formati di trasmissione e molte intestazioni di file usano il big-endian, detto anche ordine di rete. La memoria x86 e le intestazioni degli eseguibili Windows usano il little-endian, quindi scelga l'ordine in base alla provenienza dei byte.

Perché il risultato esadecimale mantiene gli zeri iniziali?

Perché viene completato a due cifre esadecimali per byte, così la larghezza del campo resta visibile: quattro byte mostrano otto cifre e un primo byte a zero non sparisce mai. Il decimale invece viene mostrato senza zeri iniziali.

Come si trasforma un elenco di byte in un solo numero?

Ogni byte è una cifra in base 256. In big-endian il primo byte è il più significativo e si moltiplica per la potenza di 256 più alta; in little-endian il primo è quello che pesa meno. Il risultato è esatto fino a otto byte.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

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

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

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 è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Come l’ordine dei byte trasforma un array in un intero

Il campo opzionale decimal_number compare solo quando il risultato senza segno rientra nell’intervallo degli interi sicuri di JavaScript (fino a 2^53−1); i valori più ampi restituiscono comunque la stringa decimale esatta e l’hex così i client non perdono i bit di basso ordine.

Contratto di ingresso, campi di risposta ed errori di validazione

Endianness assente o un token non riconosciuto fallisce pure con un messaggio chiaro che elenca i valori ammessi. Gli stessi byte con little endianness producono decimal 50462976 e hex 0x03020100. Array vuoti, più di otto elementi, non interi e valori fuori da 0–255 falliscono con invalid_input indicando il problema; tali fallimenti non vengono addebitati. In caso di successo il corpo restituisce l’array bytes normalizzato e l’endianness canonica (sempre big o little), più byte_count, bit_width (otto volte la lunghezza), decimal come stringa in base 10 senza zeri iniziali tranne per lo zero stesso, e hex come stringa maiuscola con prefisso 0x riempita a due cifre per byte di ingresso così le larghezze di campo del pacchetto restano visivamente stabili. Quando l’intero è al massimo Number.MAX_SAFE_INTEGER, decimal_number è incluso come numero JSON per comodità nei linguaggi che preferiscono tipi numerici; per valori senza segno più grandi quel campo è omesso anziché impostato a null, secondo la regola del framework per cui le uscite opzionali spariscono invece di inquinare i client con null. Esempio: bytes [0, 1, 2, 3] con endianness big produce decimal 66051, hex 0x00010203, bit_width 32 e decimal_number 66051.

Dove uno strumento da byte a intero dimostra il proprio valore

Poiché l’implementazione è pure parse di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello e senza rete in uscita.

Insegnare l’endianness con un array di byte fisso

Tenga fissi i byte [0x12, 0x34, 0x56, 0x78], cambi l’endianness e mostri agli studenti come l’ordine di rete e il little-endian dell’host producano interi diversi.

Come converto un array di byte in un intero?

Invii bytes come array di 1–8 interi da 0–255 e endianness come big o little. L’API restituisce il valore senza segno combinato in decimale (stringa) e hex (prefisso 0x, riempito di zeri).

Quando viene omesso decimal_number?

Quando il risultato senza segno supera l’intervallo degli interi sicuri di JavaScript (2^53−1). La stringa decimale esatta e l’hex sono sempre presenti; il campo numerico opzionale è omesso anziché null.

Quanto costa il calcolatore da array di byte a intero?

Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l’input non valido non viene addebitato.

Leggi la documentazione completa del KIT →