DevToys Web Pro iconDevToys Web ProBlogs
Novērtējiet mūs:
Izmēģiniet pārlūkprogrammas paplašinājumu:

Mainīt baitu secību

8 bytes (2 words)
Vārda izmērs

Ievade (hex)

  • Apmainītā izvade

  • Tehniskā informācija

    Kā darbojas baitu secības maiņas rīks

    Ko rīks dara

    Rīks Baitu secības maiņa apgriež heksadecimālās ievades baitu kārtību konfigurējamā vārda izmērā (2, 4 vai 8 baiti). Tas ir paredzēts konvertēšanai starp little-endian un big-endian fiksēta platuma veselu skaitļu attēlojumiem, kas glabāti kā hex, kas bieži nepieciešams, strādājot ar bināro failu formātiem, tīkla protokoliem vai zema līmeņa atkļūdošanas rīkiem, kuriem atšķiras baitu secība.

    Biežākie izstrādātāju lietošanas gadījumi

    Reversās inženierijas speciālisti normalizē hex izdrukas no x86 vai ARM (little-endian) un PowerPC vai MIPS (vēsturiski big-endian), lai varētu salīdzināt vērtības starp arhitektūrām. Tīkla inženieri pārveido hosta baitu kārtības veselus skaitļus uz tīkla baitu kārtību (vienmēr big-endian) pirms to iegulda pakešu tvērumos. Iegulto sistēmu izstrādātāji atkļūdo struktūras, kas glabātas zibatmiņā, pārkārtojot baitus atbilstoši formātam, ko sagaida viņu analīzes rīki.

    Datu formāti, tipi vai varianti

    Ievade pieņem hex ar vai bez `0x` prefiksa un patvaļīgām atstarpēm. Izvade skaidrības labad tiek attēlota kā ar atstarpēm atdalīti mazie burti heksadecimālie baiti. Vārda izmēri 2, 4 un 8 baiti atbilst attiecīgi 16, 32 un 64 bitu veseliem skaitļiem. Vairāki vārdi tiek apmainīti neatkarīgi: ar 4 baitu vārda izmēru 12345678 9ABCDEF0 kļūst par 78 56 34 12 un pēc tam F0 DE BC 9A.

    Biežākās kļūdas un robežgadījumi

    Ievadei jābūt veselam baitu skaitam (pāra skaits heksadecimālo ciparu) un veselam vārdu skaitam (dalāmam ar konfigurēto vārda izmēru baitos). Neatbilstoši izmēri atgriež kļūdu, nevis klusi apcērp. Tīkla baitu kārtība vienmēr ir big-endian, savukārt x86 / ARM izmanto little-endian — apmainiet baitus, lasot vai rakstot wire-format veselus skaitļus.

    Kad izmantot šo rīku, nevis kodu

    Izmantojiet pārlūka rīku vienreizējām konversijām, lasot binārās izdrukas vai atkļūdojot. Kodā dodiet priekšroku `DataView` ar skaidri norādītiem `littleEndian` karodziņiem JavaScript, `byteorder='little'|'big'` Python `int.from_bytes`, `binary.LittleEndian.Uint32` Go vai `ntohl` / `htonl` C — tie skaidrāk parāda nolūku un izvairās no hex apļceļiem.