BrowserTools
Início / Conversores / Tradutor binário, de texto para código binário e vice-versa

Tradutor binário, de texto para código binário e vice-versa

Converte texto em binário e binário em texto num instante, com modos decimal, hexadecimal e octal, suporte UTF-8 completo, delimitadores personalizados e botões de copiar.

A carregar Tradutor binário, de texto para código binário e vice-versa… Se nada acontecer, ativa o JavaScript.

Cada pedaço de texto que o teu computador guarda ou envia é, no fundo, uma sequência de dígitos binários, e este tradutor binário mostra-te exatamente como é essa sequência. Escreve ou cola qualquer texto e ele é convertido num instante em código binário, um grupo de uns e zeros por byte; cola binário e ele é descodificado de volta para texto legível com a mesma rapidez, nas duas direções e em tempo real enquanto escreves. Para além do binário, o conversor oferece modos decimal, hexadecimal e octal, para inspecionares os mesmos bytes no sistema de numeração que melhor servir a tua tarefa, seja um exercício de programação, uma aula de redes, um desafio CTF ou simples curiosidade sobre como os computadores representam a linguagem.

Perguntas frequentes

Como funciona a conversão de texto para binário?
O teu texto é primeiro codificado em bytes usando UTF-8, a mesma codificação usada por quase todos os sites e formatos de ficheiro modernos. Cada byte é um número de 0 a 255, que depois é escrito no sistema de numeração selecionado: binário (base 2), decimal (base 10), hexadecimal (base 16) ou octal (base 8). Com o preenchimento a 8 bits ativado, os bytes binários mostram sempre oito dígitos, por isso A torna-se 01000001.
Como converto binário de volta para texto?
Cola os códigos binários (ou decimais, hexadecimais ou octais) na caixa de baixo, separados pelo delimitador escolhido. Cada grupo é interpretado como um byte e a sequência de bytes é descodificada como UTF-8. A conversão acontece em tempo real enquanto escreves. Se um grupo não for um número válido, exceder 255 ou os bytes não formarem UTF-8 válido, a ferramenta mostra uma mensagem de erro clara em vez de uma saída ilegível.
Porque é que um carácter às vezes produz mais do que um byte?
O UTF-8 é uma codificação de comprimento variável. Os caracteres ASCII simples (letras inglesas, dígitos, pontuação básica) usam um byte, a maioria das letras latinas acentuadas e cirílicas usa dois, a maioria das escritas asiáticas usa três e os emojis usam quatro. Os contadores de caracteres e bytes por cima da saída deixam-te ver esta diferença num relance.
O que faz a opção de preenchimento a 8 bits?
Com o preenchimento ligado, cada byte é completado com zeros à esquerda até uma largura fixa: 8 dígitos em binário, 3 em octal e decimal, 2 em hexadecimal, por isso 5 torna-se 00000101 em binário. É a forma convencional de escrever bytes binários e é obrigatória para descodificar quando escolhes não usar delimitador, porque a largura fixa é a única maneira de saber onde acaba um byte e começa o seguinte.
Posso descodificar binário sem espaços?
Sim, escolhe a opção de delimitador "nenhum". O descodificador divide então a entrada em blocos de largura fixa (8 dígitos para binário, 2 para hexadecimal, 3 para octal e decimal), o que exige a convenção de preenchimento. Uma cadeia contínua como 0100100001101001 descodifica para "Hi". O decimal sem delimitador é ambíguo, a menos que cada byte esteja preenchido a 3 dígitos.
Qual é a diferença entre os modos binário, decimal, hexadecimal e octal?
São simplesmente bases diferentes para escrever os mesmos valores de byte. A letra A (byte 65) é 01000001 em binário, 65 em decimal, 41 em hexadecimal e 101 em octal. O hexadecimal é popular entre programadores porque cada byte ocupa exatamente dois dígitos; o octal era comum em sistemas antigos e ainda aparece nas permissões de ficheiros do Unix.
Este tradutor suporta emojis e línguas além do inglês?
Sim, totalmente. Como a ferramenta usa codificação UTF-8 real em vez de uma tabela apenas ASCII, qualquer texto que funcione na web funciona aqui: chinês, árabe, cirílico, letras europeias acentuadas e emojis convertem-se nas suas sequências multibyte corretas e descodificam-se de volta sem perdas.
O que é o ASCII e que relação tem com o UTF-8?
O ASCII, normalizado em 1963, mapeia 128 caracteres (letras inglesas, dígitos, pontuação e códigos de controlo) para os números de 0 a 127. O UTF-8, criado em 1992, foi desenhado de propósito para que esses 128 caracteres mantivessem exatamente os mesmos valores de um só byte. Essa retrocompatibilidade é uma razão fundamental para o UTF-8 ter conquistado a web: qualquer ficheiro ASCII puro já é UTF-8 válido.
Porque recebo um erro de 'sequência UTF-8 inválida' ao descodificar?
Os bytes introduzidos não formam uma sequência UTF-8 legal, por exemplo um byte de continuação solto (10xxxxxx) ou um carácter multibyte cortado. Normalmente significa que a origem foi codificada com outro conjunto de caracteres, que o binário foi truncado ou que uma gralha mudou um bit. A ferramenta usa descodificação estrita de propósito, para reportar os erros em vez de produzir caracteres errados em silêncio.
O meu texto é enviado para um servidor?
Não. Toda a codificação e descodificação corre localmente no teu navegador usando as API padrão TextEncoder e TextDecoder. Nada do que escreves ou colas sai do teu dispositivo, e o conversor continua a funcionar offline depois de a página carregar.

Sobre Tradutor binário, de texto para código binário e vice-versa

A razão pela qual o texto pode transformar-se em números é a codificação de caracteres, e a sua história explica quase tudo o que vais ver na saída. Em 1963, a norma ASCII atribuiu um número de 7 bits a cada letra, dígito e sinal de pontuação do inglês, de modo que a letra A passou a ser 65, ou 01000001 em binário. O ASCII funcionava bem para o inglês, mas não tinha espaço para letras acentuadas, cirílico, chinês ou emojis, o que levou a uma era caótica de páginas de códigos regionais incompatíveis. O Unicode resolveu o caos ao dar a cada carácter de cada sistema de escrita um ponto de código único, e o UTF-8, desenhado por Ken Thompson e Rob Pike em 1992 na toalha de papel de um restaurante de Nova Jérsia, tornou-se a forma dominante de guardar esses pontos de código como bytes. O UTF-8 mantém cada carácter ASCII como um único byte idêntico, enquanto os outros caracteres usam dois, três ou quatro bytes, e é por isso que hoje alimenta mais de 98 por cento da web.

Este conversor é totalmente compatível com UTF-8. O texto é codificado com o TextEncoder nativo do navegador, por isso um é acentuado produz corretamente dois bytes (11000011 10101001) e um emoji como 🙂 produz quatro, exatamente como seriam guardados num ficheiro ou transmitidos por uma rede. A descodificação usa o TextDecoder em modo estrito: se os bytes que colares não formarem uma sequência UTF-8 válida, recebes um erro claro em vez de caracteres corrompidos em silêncio. Podes escolher o delimitador entre bytes (espaço, nada de todo, ou qualquer cadeia personalizada), ligar o preenchimento com zeros a 8 bits e acompanhar os contadores de caracteres e bytes em tempo real, que também tornam os caracteres multibyte fáceis de detetar. Os botões de copiar dos dois lados levam o resultado para a área de transferência com um clique.

A conversão entre binário e texto tem imensos usos práticos. Os programadores usam-na para depurar problemas de codificação, inspecionar payloads de rede e perceber porque é que o comprimento em bytes de uma cadeia difere do número de caracteres. Os estudantes usam-na para aprender notação posicional e as bases do complemento para dois. Os criadores de enigmas e de escape rooms escondem mensagens em binário, e o clássico cumprimento "01001000 01101001" continua a circular em fóruns e t-shirts. Como toda a ferramenta corre do lado do cliente, no teu navegador, nada do que escreves é carregado para lado nenhum: o teu texto e a sua forma binária ficam no teu dispositivo, e o conversor continua a funcionar mesmo sem ligação à rede.

Porque ganharam os oito bits: uma breve história do byte

A palavra "bit" (dígito binário) foi cunhada pelo estatístico John Tukey em 1947, e o "byte" foi batizado pelo engenheiro da IBM Werner Buchholz em 1956, durante o desenho do supercomputador STRETCH, escrito de propósito de forma diferente de "bite" para ninguém o confundir com "bit". Os primeiros computadores discordavam imenso sobre o tamanho de um byte: houve máquinas com caracteres de 6, 7 e 9 bits, e alguns computadores científicos endereçavam a memória em palavras de 36 bits. Foi o System/360 da IBM, lançado em 1964, que normalizou o byte de 8 bits em toda uma linha de produtos. Oito bits davam 256 valores, suficientes para o ASCII e mais alguns, e eram uma potência de dois conveniente; o resto da indústria seguiu-o, e nos anos 70 o byte de 8 bits era simplesmente a forma como os computadores funcionavam.

A codificação de caracteres demorou muito mais a assentar. Durante décadas, cada região linguística teve a sua própria "página de códigos" incompatível: o byte 0xE9 significava é na Europa ocidental, щ em alguns conjuntos cirílicos e um símbolo completamente diferente no Japão, e é por isso que e-mails e páginas web antigos apareciam às vezes como mojibake, texto sem sentido. A solução foi esboçada em setembro de 1992, quando Ken Thompson e Rob Pike, dos Bell Labs, conceberam o esquema UTF-8, escrevendo o desenho, segundo a famosa história, na toalha de papel de um restaurante de Nova Jérsia. A codificação deles autossincronizava-se, ordenava corretamente e deixava intacto qualquer ficheiro ASCII. Os dados de rastreio da Google mostraram o UTF-8 a ultrapassar todas as outras codificações da web por volta de 2008, e hoje representa mais de 98 por cento de todas as páginas.

O texto binário também conquistou um lugar na cultura popular. As placas das Pioneer e os discos dourados das Voyager usam binário para codificar quantidades fundamentais para qualquer alienígena que as encontre. Cartazes de cinema e capas de discos escondem mensagens binárias com regularidade: o cartaz de The Matrix Reloaded, a capa de X&Y dos Coldplay (que usa o código Baudot, um antepassado do ASCII) e imensos easter eggs em videojogos. E em 1974, a mensagem de Arecibo emitiu 1679 bits em direção ao enxame estelar M13; 1679 é o produto de dois números primos, para que qualquer recetor pudesse dispor os bits numa imagem de 73 por 23, o primeiro postal binário deliberado da humanidade para as estrelas.

Apoiar