Conversor de Texto para Binário

→
Texto → bytes UTF-8 → 8 dígitos binários por byte, separados por espaço

Texto para binário: como uma string se parece no nível do byte

O que esta conversão faz

Codifica o texto em bytes usando UTF-8 e depois escreve cada byte como oito dígitos binários. Aqui não há aritmética: um caractere é procurado em uma tabela e escrito, mas o resultado é a sequência real de uns e zeros que seria armazenada ou transmitida para aquela string.

Por que UTF-8 e não ASCII puro

O ASCII define apenas 128 caracteres, o que cobre o inglês com folga e todo o resto de jeito nenhum. O UTF-8 mantém os primeiros 128 códigos idênticos aos do ASCII e estende o restante por dois, três ou quatro bytes, então uma string em inglês produz exatamente os bytes que o ASCII produziria, enquanto um caractere chinês ou um emoji continua funcionando. É por isso que "A" ocupa um byte e um único caractere chinês ocupa três.

Tabela de conversão de texto para binário

Strings curtas com suas sequências de bytes em binário. As linhas multibyte são as interessantes: elas mostram como um único caractere vira um grupo de bytes, cada um com um padrão inicial reconhecível.

TextoBinário
A01000001
Hi01001000 01101001
OK01001111 01001011
12300110001 00110010 00110011
!00100001
Go01000111 01101111

O byte que você não esperava

A surpresa mais comum no tratamento de texto é uma string maior do que aparenta. Cinco caracteres podem ser cinco bytes ou quinze, dependendo da escrita, e qualquer limite expresso em caracteres será violado por um limite expresso em bytes. Ver a sequência de bytes torna isso concreto: os bits iniciais de cada byte de um caractere multibyte anunciam quantos bytes aquele caractere ocupa.

Contagem de bytes e de caracteres são diferentes

Quando uma coluna de banco de dados, um limite de API ou um campo de cabeçalho é medido em bytes, conte os bytes e não os caracteres. A ferramenta mostra a sequência de bytes diretamente, então o número de grupos é o número de bytes, que é justamente a medida que esses limites verificam.

Perguntas frequentes

Como um texto vira binário?

Cada caractere é procurado na tabela de codificação UTF-8 e substituído pelo seu valor ou valores de byte, e cada byte é então escrito como oito dígitos binários. A letra A é o byte 65, que é 01000001, e ocupa exatamente um byte porque está dentro da faixa ASCII original.

Por que um caractere chinês ocupa mais de um byte?

Porque o UTF-8 precisa cobrir muito mais que 256 caracteres, então os que ficam fora dos primeiros 128 se espalham por dois, três ou quatro bytes. Um único caractere chinês normalmente ocupa três bytes, e é por isso que ele aparece aqui como três grupos de oito dígitos em vez de um só.

Isto é a mesma coisa que ASCII?

Para texto simples em inglês, sim: o UTF-8 foi projetado para que os primeiros 128 códigos sejam byte a byte idênticos ao ASCII, então "Hello" codifica do mesmo jeito nos dois. Eles divergem no momento em que você usa uma letra acentuada, um símbolo de moeda ou qualquer escrita não latina, casos em que o ASCII não tem nada a oferecer e o UTF-8 tem.

Por que os bytes são separados por espaços?

Porque uma sequência contínua de binário é ilegível e fácil de contar errado, enquanto grupos de oito separados por espaço mostram as fronteiras de byte diretamente. Os espaços na entrada são ignorados na decodificação, então uma sequência copiada desta página pode ser colada de volta no sentido inverso sem edição.

A ferramenta dá conta de emoji?

Sim. Os emoji ficam acima da faixa que três bytes alcançam, então o UTF-8 codifica a maioria deles em quatro bytes, e eles aparecem aqui como quatro grupos de oito dígitos. Um único emoji pode, portanto, ficar mais longo que uma palavra curta em português depois de codificado.

Copie o código abaixo e cole-o no seu site para adicionar este conversor.

<!-- Texto para Binário -->
<iframe src="https://unitflow.net/pt/embed/text-to-binary" title="Texto para Binário" width="100%" height="420" loading="lazy" style="border:0;max-width:100%;display:block"></iframe>
<p><a href="https://unitflow.net/pt/text-to-binary" target="_blank" rel="noopener">Desenvolvido por UnitFlow</a></p>