Glossário

Hexadecimal

hexbase 16

O sistema hexadecimal é uma notação de base 16 que usa os símbolos 0–9 e A–F para representar números e bytes.

Definição

O sistema hexadecimal, ou hex, é um sistema de numeração posicional de base 16. Utiliza 0 a 9 e A a F; A equivale a 10 decimal e F a 15.

É útil para apresentar dados binários porque um algarismo hexadecimal corresponde exatamente a 4 bits e dois algarismos representam um byte entre 00 e FF.

Como funciona

Tal como no sistema decimal, cada posição tem um peso, mas usam-se potências de 16. Assim, 2F significa 2 × 16 + 15, ou 47 em decimal. Maiúsculas e minúsculas têm normalmente o mesmo valor.

Os programas costumam prefixar números hexadecimais com 0x; sequências de bytes podem conter espaços ou dois-pontos. São convenções de formato, não algarismos hexadecimais.

Exemplo prático

O texto UTF-8 Hi é composto pelos bytes hexadecimais 48 69. Converter os pares em bytes e interpretá-los como UTF-8 recupera Hi. Os mesmos bytes são SGk= em Base64.

Hex usa dois caracteres de texto por byte, sendo fácil de inspecionar mas ocupando cerca do dobro dos dados brutos.

Interpretação e erros frequentes

Uma cadeia hex não indica se os bytes representam texto, número, ficheiro, hash ou texto cifrado. Para obter texto também é necessária a codificação de caracteres correta. Ao descodificar bytes, uma quantidade ímpar de algarismos fica incompleta, salvo se uma convenção acrescentar um zero inicial.

A notação hexadecimal é reversível e não oferece confidencialidade: não é criptografia.

Perguntas frequentes

Não. Só muda a representação escrita de números ou bytes. Qualquer pessoa pode reconverter um valor hex válido sem chave.

Um byte escreve-se normalmente com dois algarismos hex. Numa cadeia ímpar fica meio byte sem par, embora um número hexadecimal comum possa ter qualquer quantidade de algarismos.

Não. A–F e a–f têm normalmente os mesmos valores, embora um formato de saída possa impor uma grafia.

Veja também
Ferramentas relacionadas
Termos relacionados