Zamijeni endianness
Ulaz (hex)
Zamijenjeni izlaz
Tehnički detalji
Kako radi alat za zamjenu endiannessa
Što alat radi
Alat Zamijeni endianness obrće redoslijed bajtova heksadekadskog ulaza unutar podesive veličine riječi (2, 4 ili 8 bajtova). Namijenjen je pretvorbi između little-endian i big-endian prikaza cijelih brojeva fiksne širine zapisanih u hexu, što je česta potreba pri radu s binarnim formatima datoteka, mrežnim protokolima ili alatima za niskorazinsko debugiranje koji se ne slažu oko redoslijeda bajtova.
Uobičajeni slučajevi upotrebe za razvojne programere
Reverse inženjeri normaliziraju hex dumpove s x86 ili ARM (little-endian) te PowerPC ili MIPS (povijesno big-endian) kako bi mogli uspoređivati vrijednosti među arhitekturama. Mrežni inženjeri pretvaraju cijele brojeve u host-byte-orderu u mrežni redoslijed bajtova (uvijek big-endian) prije umetanja u snimke paketa. Embedded razvojni inženjeri debugiraju strukture pohranjene u flashu ponovnim poravnanjem bajtova na format koji očekuju njihovi alati za analizu.
Formati podataka, vrste ili varijante
Ulaz prihvaća hex s prefiksom `0x` ili bez njega te proizvoljne razmake. Izlaz se prikazuje kao heksadekadski bajtovi malim slovima, odvojeni razmacima, radi jasnoće. Veličine riječi od 2, 4 i 8 bajtova odgovaraju 16-, 32- i 64-bitnim cijelim brojevima. Više riječi se zamjenjuje neovisno: uz veličinu riječi od 4 bajta, 12345678 9ABCDEF0 postaje 78 56 34 12, a zatim F0 DE BC 9A.
Uobičajene zamke i rubni slučajevi
Ulaz mora sadržavati cijeli broj bajtova (paran broj heksadekadskih znamenki) i cijeli broj riječi (djeljivo s konfiguriranom veličinom riječi u bajtovima). Neusklađene veličine vraćaju pogrešku umjesto tihog skraćivanja. Mrežni redoslijed bajtova je uvijek big-endian, dok x86 / ARM koriste little-endian — zamijenite bajtove pri čitanju ili pisanju cijelih brojeva u wire-formatu.
Kada koristiti ovaj alat umjesto koda
Koristite alat u pregledniku za jednokratne pretvorbe dok čitate binarne dumpove ili debugirate. U kodu preferirajte `DataView` s eksplicitnim `littleEndian` zastavicama u JavaScriptu, `byteorder='little'|'big'` u Pythonovom `int.from_bytes`, `binary.LittleEndian.Uint32` u Gou ili `ntohl` / `htonl` u C-u — to jasnije izražava namjeru i izbjegava hex round-trip.