DevToys Web Pro iconDevToys Web Proબ્લોગ
અમને રેટ કરો:
બ્રાઉઝર એક્સ્ટેન્શન અજમાવો:

Endianness બદલો

8 bytes (2 words)
વર્ડ સાઇઝ

ઇનપુટ (હેક્સ)

  • સ્વેપ કરેલ આઉટપુટ

  • તકનિકી વિગતો

    Swap Endianness ટૂલ કેવી રીતે કામ કરે છે

    આ ટૂલ શું કરે છે

    Swap Endianness ટૂલ કન્ફિગર કરી શકાય તેવી word size (2, 4, અથવા 8 bytes)ની અંદર હેક્સાડેસિમલ ઇનપુટનો બાઇટ ક્રમ ઉલટાવે છે. તેનો હેતુ હેક્સ તરીકે સંગ્રહિત fixed-width integers માટે little-endian અને big-endian રજૂઆતો વચ્ચે રૂપાંતર કરવાનો છે, જે બાઇનરી ફાઇલ ફોર્મેટ્સ, નેટવર્ક પ્રોટોકોલ્સ, અથવા લો-લેવલ ડિબગિંગ ટૂલ્સ સાથે કામ કરતી વખતે વારંવાર જરૂરી બને છે જ્યારે તેઓ બાઇટ ઓર્ડર પર સહમત ન હોય.

    ડેવલપર્સ માટેના સામાન્ય ઉપયોગ કેસિસ

    રિવર્સ ઇજનેરો x86 અથવા ARM (little-endian) અને PowerPC અથવા MIPS (ઇતિહાસ મુજબ big-endian)માંથી આવેલા hex dumps ને નોર્મલાઇઝ કરે છે જેથી તેઓ આર્કિટેક્ચર્સ વચ્ચે મૂલ્યોની સરખામણી કરી શકે. નેટવર્ક ઇજનેરો host-byte-order integers ને network byte order (હંમેશા big-endian)માં રૂપાંતરિત કરે છે પહેલાં કે તેઓ તેને packet captures માં એમ્બેડ કરે. એમ્બેડેડ ડેવલપર્સ ફ્લેશમાં સંગ્રહિત સ્ટ્રક્ચર્સને ડિબગ કરે છે બાઇટ્સને તેમની એનાલિસિસ ટૂલિંગ અપેક્ષિત ફોર્મેટ મુજબ ફરી ગોઠવીને.

    ડેટા ફોર્મેટ્સ, પ્રકારો, અથવા વેરિઅન્ટ્સ

    ઇનપુટ `0x` પ્રિફિક્સ સાથે અથવા વિના અને મનમાની whitespace સાથે હેક્સ સ્વીકારે છે. સ્પષ્ટતા માટે આઉટપુટ space-separated lowercase hex bytes તરીકે રેન્ડર થાય છે. 2, 4, અને 8 bytes ની word sizes અનુક્રમે 16-, 32-, અને 64-bit integers ને અનુરૂપ છે. અનેક words ને સ્વતંત્ર રીતે swap કરવામાં આવે છે: 4-byte word size સાથે, 12345678 9ABCDEF0 78 56 34 12 બની જાય છે અને પછી F0 DE BC 9A.

    સામાન્ય ખામીઓ અને એજ કેસિસ

    ઇનપુટમાં બાઇટ્સની સંપૂર્ણ સંખ્યા હોવી જોઈએ (હેક્સ અંકોની સમ સંખ્યા) અને words ની પણ સંપૂર્ણ સંખ્યા હોવી જોઈએ (bytes માં કન્ફિગર કરેલી word size થી વિભાજ્ય). કદ ન મેળ ખાતાં હોય તો શાંતિથી ટ્રન્કેટ કરવાની બદલે ભૂલ આપે છે. Network byte order હંમેશા big-endian હોય છે, જ્યારે x86 / ARM little-endian વાપરે છે — wire-format integers વાંચતી અથવા લખતી વખતે બાઇટ્સ swap કરો.

    કોડની સામે આ ટૂલ ક્યારે વાપરવું

    બાઇનરી ડમ્પ્સ વાંચતી વખતે અથવા ડિબગિંગ દરમિયાન one-shot રૂપાંતરો માટે બ્રાઉઝર ટૂલ વાપરો. કોડમાં, JavaScript માં સ્પષ્ટ `littleEndian` ફ્લેગ્સ સાથે `DataView`, Python ના `int.from_bytes` માં `byteorder='little'|'big'`, Go માં `binary.LittleEndian.Uint32`, અથવા C માં `ntohl` / `htonl` પસંદ કરો — આ ઇરાદા વિશે વધુ સ્પષ્ટ છે અને હેક્સ રાઉન્ડ-ટ્રિપ્સ ટાળે છે.