Trocar Endianness
Entrada (hex)
Saída invertida
Detalhes técnicos
Como funciona a ferramenta de Troca de Endianness
O Que a Ferramenta Faz
A ferramenta Trocar Endianness inverte a ordem dos bytes de uma entrada hexadecimal dentro de um tamanho de palavra configurável (2, 4 ou 8 bytes). Destina-se a converter entre representações little-endian e big-endian de inteiros de largura fixa armazenados em hex, uma necessidade frequente ao trabalhar com formatos de ficheiros binários, protocolos de rede ou ferramentas de depuração de baixo nível que discordam quanto à ordem dos bytes.
Casos de Uso Comuns para Programadores
Engenheiros de reverse engineering normalizam hex dumps de x86 ou ARM (little-endian) e PowerPC ou MIPS (historicamente big-endian) para poderem comparar valores entre arquiteturas. Engenheiros de redes convertem inteiros na ordem de bytes do host para a ordem de bytes de rede (sempre big-endian) antes de os incorporar em capturas de pacotes. Programadores de sistemas embebidos depuram estruturas armazenadas em flash realinhando bytes para o formato esperado pelas suas ferramentas de análise.
Formatos, Tipos ou Variantes de Dados
A entrada aceita hex com ou sem o prefixo `0x` e espaços em branco arbitrários. A saída é apresentada como bytes hex em minúsculas separados por espaços para maior clareza. Tamanhos de palavra de 2, 4 e 8 bytes correspondem a inteiros de 16, 32 e 64 bits, respetivamente. Várias palavras são trocadas de forma independente: com um tamanho de palavra de 4 bytes, 12345678 9ABCDEF0 torna-se 78 56 34 12 seguido de F0 DE BC 9A.
Erros Comuns e Casos Limite
A entrada tem de ser um número inteiro de bytes (número par de dígitos hex) e um número inteiro de palavras (divisível pelo tamanho de palavra configurado em bytes). Tamanhos incompatíveis devolvem um erro em vez de truncar silenciosamente. A ordem de bytes de rede é sempre big-endian, enquanto x86 / ARM usam little-endian — troque os bytes ao ler ou escrever inteiros no formato de transmissão (wire format).
Quando Usar Esta Ferramenta vs Código
Use a ferramenta no browser para conversões pontuais enquanto lê dumps binários ou depura. Em código, prefira `DataView` com flags `littleEndian` explícitas em JavaScript, `byteorder='little'|'big'` em `int.from_bytes` do Python, `binary.LittleEndian.Uint32` em Go, ou `ntohl` / `htonl` em C — são mais claros quanto à intenção e evitam round-trips em hex.