Conversor de texto para hexadecimal, binário e bytes
Veja os mesmos bytes como texto UTF-8, hexadecimal, binário, decimal, octal e Base64, e edite qualquer um deles para atualizar os restantes.
Fixe aqui as ferramentas. Ficam guardadas neste navegador.
Fixe uma ferramenta e o autocolante dela aparece aqui.
Veja os mesmos bytes como texto UTF-8, hexadecimal, binário, decimal, octal e Base64, e edite qualquer um deles para atualizar os restantes.
Um computador guarda o texto como bytes, e um byte é um número de 0 a 255. O hexadecimal escreve cada byte com dois dígitos (48), o binário com oito bits (01001000), o octal com três dígitos (110) e o decimal como um número simples (72). As quatro formas representam o mesmo byte, que é a letra H em ASCII e em UTF-8. O Base64 agrupa cada três bytes em quatro caracteres imprimíveis.
As vistas desta página mostram sempre os mesmos bytes. Escreva em qualquer uma delas e as outras são recalculadas. Se o que escrever não puder ser lido, esse campo fica assinalado e os outros mantêm o último conteúdo válido.
A vista de texto é codificada em UTF-8, em que cada ponto de código ocupa de um a quatro bytes. As letras ASCII ocupam um, é ocupa dois (c3 a9), a maioria dos caracteres CJK ocupa três e a maioria dos emojis ocupa quatro ou mais. É por isso que a contagem de bytes e a de caracteres são diferentes.
A contagem de caracteres é o número de clusters de grafemas, as unidades que um leitor vê como um único carácter, quando o navegador disponibiliza Intl.Segmenter. Um emoji de família é um único grafema formado por vários pontos de código unidos por zero-width joiners (ZWJ), por isso também é mostrada a contagem de pontos de código.
Nem todas as sequências de bytes são UTF-8 válido. Quando introduz bytes que não o são, a vista de texto mostra o carácter de substituição U+FFFD no lugar dos bytes inválidos e a ferramenta avisa-o.
Os bytes podem ser separados por espaços, quebras de linha, vírgulas ou underscores e, no hexadecimal, também por dois pontos ou hífenes, como num endereço MAC. São aceites os prefixos 0x, \x, 0b e 0o, por isso pode colar os valores de um literal de array tirado do código-fonte, sem os parênteses retos. Os dígitos escritos sem separadores são lidos com largura fixa: dois dígitos hexadecimais, oito bits ou três dígitos octais por byte.
Uma vírgula ou um prefixo inicia sempre um novo valor, por isso 0b1000, 0b0001 são os dois bytes 8 e 1. O binário escrito em grupos de quatro separados apenas por espaços, como 1000 0001, é lido oito bits de cada vez e dá um único byte.
O estilo de saída Prefixo 0x escreve uma lista separada por vírgulas, como 0x48, 0x65, pronta a colar de novo no código. As vistas binária e octal usam 0b e 0o da mesma forma, e a vista decimal escreve números simples. Os bytes decimais não têm largura fixa, por isso mantêm um espaço entre eles mesmo quando o separador está definido como Nenhum.
Cada carácter é primeiro codificado em bytes, aqui com UTF-8, e cada byte é escrito como dois dígitos hexadecimais. A palavra Hi passa a 48 69. Escreva o texto no primeiro campo e leia a vista hexadecimal.
O UTF-8 só usa um byte para o ASCII. As letras acentuadas, como é, precisam de dois bytes, a maioria dos caracteres chineses, japoneses e coreanos precisa de três e a maioria dos emojis precisa de quatro ou mais.
É o U+FFFD, o carácter de substituição. Aparece onde os bytes não são UTF-8 válido, por exemplo quando os dados são binários ou foram escritos noutra codificação, como Latin-1 ou UTF-16.
Não. A conversão é feita por JavaScript no separador do seu navegador. O que escreve não é enviado para lado nenhum nem fica guardado.
Abre numa janela própria e continua a funcionar offline.
Para instalar, toque no botão Partilhar e depois em «Adicionar ao ecrã principal».