Texto e código / Guias

Binário, hexadecimal e decimal: a sua entrada é um número ou texto?

Uma sequência de dígitos pode nomear um número ou soletrar os valores de byte de uma mensagem de texto. Decide qual interpretação você tem antes de converter.

O inteiro permanece o mesmo

O número decimal 65, o binário 1000001 e o hexadecimal 41 são três formas de escrever o mesmo inteiro não negativo. A base muda a representação, não o valor contado. Digite 65 no conversor de decimal para binário e compare com o resultado do conversor de decimal para hexadecimal. Pode-se acrescentar um zero à esquerda para mostrar um byte completo de oito bits, 01000001, sem mudar o valor do inteiro. A ferramenta de binário para decimal faz o caminho inverso para números. Esse fluxo é adequado para identificadores, máscaras de bits ou contagens que de fato representam inteiros.

Texto primeiro precisa de uma codificação de caracteres

A letra A é um caractere de texto. Em UTF-8, ela ocupa um único byte, 0x41, cujo padrão de bits é 01000001. Nesse caso, o byte coincide com o exemplo numérico porque os caracteres ASCII mantêm esses valores em UTF-8. Já a string “65” tem dois caracteres, 6 e 5, representados pelos bytes 0x36 e 0x35. Converter o número 65 entre bases e converter o texto “65” em bytes UTF-8 responde a perguntas diferentes. Antes de escolher a ferramenta, confirme se a origem contém um valor numérico ou os caracteres digitados literalmente.

Os mesmos dígitos podem se referir a coisas diferentes.
  1. Inteiro 65₁₀ = 41₁₆ = 1000001₂
  2. Texto “A” → UTF-8 byte 41₁₆
  3. Texto “65” → UTF-8 bytes 36 35₁₆

Texto acentuado expõe a distinção

Em UTF-8, o caractere é é representado por dois bytes, C3 A9 em hexadecimal. Seu ponto de código Unicode é U+00E9; em outra forma de normalização, ele também pode ser escrito como e seguido de um acento combinante. A ferramenta de texto para binário pode, portanto, mostrar dois grupos de oito bits para uma única letra visível na forma composta em UTF-8. Confundir o ponto de código com um byte único perderia informação ou produziria uma saída incorreta. Para investigar um protocolo de texto, examine os bytes UTF-8, não o conversor de números decimais para hexadecimais. Preserve a forma de normalização quando uma comparação exata entre strings for necessária.

Observe limites e separadores

A sequência binária 0100000101000010 pode ser dividida em dois bytes, 01000001 e 01000010, que representam as letras AB em UTF-8. Sem conhecer a codificação e a regra de agrupamento, uma sequência de bits isolada é ambígua. O número decimal 4142 não tem o mesmo valor que o hexadecimal 4142, e nenhum dos dois significa automaticamente dois bytes de texto. Prefixos como 0x para hexadecimal e espaços entre os bytes deixam o registro mais claro. Antes de decodificar dados copiados, guarde os delimitadores originais e descubra se os zeros à esquerda têm significado no formato de origem.

Escolha uma verificação repetível

Para conversões numéricas, anote o inteiro original e sua base, converta-o e depois faça o caminho inverso com a ferramenta numérica correspondente. Para texto, guarde os caracteres, a forma de normalização quando pertinente e seus bytes UTF-8; depois decodifique os bytes com a ferramenta de texto apropriada. Teste A, 65 e é como três entradas diferentes. Se o resultado copiado parecer comprido demais, conte os bytes e verifique se a entrada continha espaços, uma quebra de linha ou caracteres fora de ASCII. Os dois fluxos podem chegar ao mesmo valor de byte, mas o significado desse valor depende dos dados de origem.

Testar o conversor

Converta o inteiro 65 para binário e, em seguida, compare texto para bytes.

Converta um inteiro decimal em dígitos binários sem limite de tamanho.

Abrir o conversor completo

Mais guias

Guias de conversão

Explorar guias