tools / binary
binary/
Converta texto em binário (zeros e uns) e vice-versa, com 8 bits por byte. Escolha UTF-8, GBK, UTF-16 e outros.
Texto
Binário
Perguntas frequentes
Quantos bits tem um caractere chinês em binário?
Cada byte é escrito com exatamente 8 bits, então o tamanho depende da codificação. Em UTF-8, um caractere chinês comum ocupa 3 bytes, ou seja, 24 bits: 中 é 11100100 10111000 10101101. Em GBK e GB2312, ocupa 2 bytes, 16 bits: 中 é 11010110 11010000. Letras sem acento e dígitos ocupam 1 byte; A é 01000001.
A conversão de binário para texto diz que a quantidade de bits não é múltipla de 8. O que fazer?
Cada 8 bits formam um byte, então, depois de remover os espaços em branco, a quantidade de bits precisa ser múltipla de 8; caso contrário, o erro informa quantos bits adicionar ou remover no final. O mais comum é terem sobrado ou faltado bits ao copiar. Algumas fontes escrevem só os bits significativos de cada byte, por exemplo A como 1000001 (7 bits); preencha esses casos antes com zeros à esquerda até completar 8 bits, porque esta ferramenta não faz isso por você.
Aparece que um caractere não é 0 nem 1, ou minha entrada tem prefixo 0b ou vírgulas. O que fazer?
Só são aceitos os 0 e 1 ASCII; espaços, quebras de linha e tabulações são ignorados. Prefixo 0b, vírgulas, hifens e os 0 e 1 de largura total não são aceitos, e o erro indica a posição do caractere. Remova ou substitua esses itens em um editor de texto e cole de novo.
A conversão de binário para texto diz que os bytes não são um texto válido, ou o resultado sai embaralhado. O que fazer?
Significa que os bits não foram codificados com a codificação atual; tente outra. Para texto em chinês, as mais comuns são UTF-8 e GBK. Esta ferramenta nunca exibe bytes indecodificáveis como lixo. A única exceção é o ISO-8859-1: cada byte corresponde a algum caractere, então nunca dá erro, mas texto em chinês vira caracteres embaralhados. GBK e GB2312 são decodificados com o decodificador GB18030 embutido no navegador, que é mais tolerante que o do Python ou do Java, então o GB2312 também decodifica caracteres que só existem no GBK. Se os dados nunca foram texto (uma imagem, um arquivo compactado), nenhuma codificação vai decodificá-los.
Por que digitar o número 10 não resulta em 1010?
Esta ferramenta converte os bytes do texto, e não valores numéricos. O 10 digitado são dois caracteres, "1" e "0", que em UTF-8 são 00110001 00110000. Para transformar o número decimal 10 no número binário 1010, é preciso um conversor de base numérica, que esta ferramenta não faz.
Qual é a diferença entre usar espaço como separador e não usar nenhum?
Com "Espaço", há um espaço entre os bytes; com "Nenhum", os bits ficam juntos em uma única sequência. Os bits de cada byte vão do mais para o menos significativo, ou seja, o bit mais à esquerda é o mais significativo. A decodificação aceita as duas formas e não exige que os espaços caiam nos limites dos bytes; só importa o total de bits depois de remover os espaços em branco.
Por que os resultados em UTF-16 e UTF-32 são tão longos?
O UTF-16 usa pelo menos 2 bytes por caractere e acrescenta FE FF (11111110 11111111) no início, então 中 é 11111110 11111111 01001110 00101101. O UTF-32 usa exatamente 4 bytes por caractere, então 中 é 00000000 00000000 01001110 00101101. Os dois são big-endian.
O que eu digito é enviado para algum servidor?
Não. A conversão é feita no seu navegador, sem fazer nenhuma requisição de rede e sem salvar nada.