DevToys Web Pro iconDevToys Web ProBlogu
Tupatie ukadiriaji:
Jaribu kiendelezi cha kivinjari:

Badilisha Endianness

8 bytes (2 words)
Ukubwa wa neno

Ingizo (hex)

  • Matokeo yaliyobadilishwa

  • Maelezo ya kiufundi

    Jinsi Zana ya Kubadilisha Endianness Inavyofanya Kazi

    Zana Hii Hufanya Nini

    Zana ya Kubadilisha Endianness hubadilisha mpangilio wa baiti wa ingizo la heksadesimali ndani ya ukubwa wa neno unaoweza kusanidiwa (baiti 2, 4, au 8). Imekusudiwa kubadilisha kati ya uwakilishi wa little-endian na big-endian wa nambari kamili zenye upana maalum zilizohifadhiwa kama hex, jambo linalohitajika mara kwa mara unapofanya kazi na miundo ya faili za binari, itifaki za mtandao, au zana za urekebishaji wa kiwango cha chini ambazo hutofautiana kuhusu mpangilio wa baiti.

    Matumizi ya Kawaida kwa Wasanidi

    Wachambuzi wa reverse engineering husawazisha hex dumps kutoka x86 au ARM (little-endian) na PowerPC au MIPS (kihistoria big-endian) ili waweze kulinganisha thamani katika usanifu tofauti. Wahandisi wa mtandao hubadilisha nambari kamili za host-byte-order kuwa network byte order (daima big-endian) kabla ya kuziweka kwenye packet captures. Watengenezaji wa embedded hurekebisha miundo iliyohifadhiwa kwenye flash kwa kupanga upya baiti ili ilingane na umbizo linalotarajiwa na zana zao za uchambuzi.

    Miundo ya Data, Aina, au Lahaja

    Ingizo hukubali hex ikiwa na au bila kiambishi `0x` na nafasi tupu yoyote. Matokeo huonyeshwa kama baiti za hex za herufi ndogo zilizotenganishwa kwa nafasi kwa uwazi. Ukubwa wa neno wa baiti 2, 4, na 8 unalingana na nambari kamili za biti 16, 32, na 64 mtawalia. Maneno mengi hubadilishwa kila moja kivyake: kwa ukubwa wa neno wa baiti 4, 12345678 9ABCDEF0 huwa 78 56 34 12 ikifuatiwa na F0 DE BC 9A.

    Mitego ya Kawaida na Matukio ya Pembeni

    Ingizo lazima liwe idadi kamili ya baiti (idadi shufwa ya tarakimu za hex) na idadi kamili ya maneno (inayogawanyika kwa ukubwa wa neno uliosanidiwa kwa baiti). Ukubwa usiolingana hurejesha kosa badala ya kukata kimya kimya. Network byte order daima ni big-endian, ilhali x86 / ARM hutumia little-endian — badilisha baiti unaposoma au kuandika nambari kamili za wire-format.

    Wakati wa Kutumia Zana Hii dhidi ya Msimbo

    Tumia zana ya kivinjari kwa ubadilishaji wa mara moja unaposoma binary dumps au kufanya debugging. Kwenye msimbo, pendelea `DataView` yenye bendera za `littleEndian` zilizo wazi katika JavaScript, `byteorder='little'|'big'` katika `int.from_bytes` ya Python, `binary.LittleEndian.Uint32` katika Go, au `ntohl` / `htonl` katika C — hizi zinaonyesha nia kwa uwazi zaidi na huepuka mizunguko ya hex round-trip.