Como converter texto para binário
- Digite ou cole o texto em Entrada · Texto. O binário aparece em Saída · Binário imediatamente.
- Separador, abaixo da saída, define o que vai entre os bytes: Espaço, Nenhum,
,,,ou Nova linha. - Charset, abaixo da entrada, define como os caracteres viram bytes. UTF-8 é o padrão e coincide com ASCII para texto em inglês.
- Use Copiar saída ou Baixar para guardar o resultado. Para voltar, cole o binário em Binário para texto ou use o botão Binário → Texto.
Uma palavra, letra por letra
Hello em binário é 01001000 01100101 01101100 01101100 01101111. Veja de onde vem cada grupo:
| Letra | Decimal | Binário |
|---|---|---|
H | 72 | 01001000 |
e | 101 | 01100101 |
l | 108 | 01101100 |
l | 108 | 01101100 |
o | 111 | 01101111 |
O número decimal é o código ASCII do caractere; o binário é o mesmo número em base 2, completado até 8 dígitos. Repare que H e h (01101000) só diferem no terceiro bit a partir da esquerda. Todo par de maiúscula e minúscula no ASCII funciona assim, e é por isso que programas conseguem trocar a caixa com uma única operação de bits.
Estilos de separador
As mesmas duas letras Hi em cada opção de Separador:
| Separador | Saída |
|---|---|
| Espaço | 01001000 01101001 |
| Nenhum | 0100100001101001 |
, | 01001000, 01101001 |
, | 01001000,01101001 |
| Nova linha | um byte por linha |
Espaços são o mais fácil de ler e de conferir. A forma contínua é a que você precisa para uma string de bits em um enigma ou na especificação de um protocolo, mas um único dígito perdido desloca tudo o que vem depois, então guarde uma cópia com espaços. As formas com vírgula podem ser coladas em código ou em uma célula de planilha, embora para código de verdade o Base64 para array de bytes gere um literal de array correto.
Caracteres fora do ASCII
Letras sem acento, dígitos e pontuação ocupam um byte cada. Todo o resto é mais longo em UTF-8, e o conversor escreve cada byte:
| Texto | Bytes | Binário (UTF-8) |
|---|---|---|
ñ | 2 | 11000011 10110001 |
中 | 3 | 11100100 10111000 10101101 |
🙂 | 4 | 11110000 10011111 10011001 10000010 |
Mude o Charset e os bits mudam junto. Em UTF-16LE, Hi vira 01001000 00000000 01101001 00000000, dois bytes por letra, com o byte zero em segundo lugar. Se o binário de outra pessoa para o mesmo texto for diferente do seu, compare os charsets antes de qualquer coisa.
Texto, binário e Base64
O binário é a forma mais literal de escrever bytes e também a mais longa: 8 caracteres por byte, mais os separadores. O Base64 escreve os mesmos bytes com cerca de 1,33 caractere cada, e é por isso que ele é usado para levar arquivos e chaves dentro de formatos de texto. Hi é SGk= em Base64, e Texto para Base64 gera isso diretamente. Para ver os grupos de 8 bits sendo reagrupados nos pedaços de 6 bits que o Base64 usa, converta com Base64 para binário e leia como o Base64 funciona.
Texto para binário no código
" ".join(f"{b:08b}" for b in "Hi".encode("utf-8")) # '01001000 01101001'
Array.from(new TextEncoder().encode("Hi"),
b => b.toString(2).padStart(8, "0")).join(" "); // '01001000 01101001'
O formato 08b e o padStart(8, "0") acrescentam os zeros à esquerda. Sem eles, H sai como 1001000 e os grupos deixam de se alinhar. Mais sobre manipulação de strings e bytes nas páginas de Python e JavaScript.
Perguntas frequentes
Como fica "hello" em binário?
01101000 01100101 01101100 01101100 01101111. Com inicial maiúscula, Hello só muda o primeiro grupo, para 01001000.
Como escrever meu nome em binário?
Digite o nome na entrada e copie a saída. Cada letra vira 8 dígitos; um espaço entre o nome e o sobrenome vira 00100000.
Por que cada caractere tem exatamente 8 dígitos?
Os computadores guardam texto em bytes, e um byte tem 8 bits. O conversor completa cada byte com zeros à esquerda, então A (65) é escrito 01000001, e não 1000001.
Por que alguns caracteres geram 16 ou 32 bits?
Eles precisam de mais de um byte em UTF-8. ñ ocupa dois bytes, 中 três e um emoji quatro. Em UTF-16, até letras simples ocupam dois bytes.