Codificação de caracteres – Unicode, ASCII e UTF-8

ComputaçãoDados e sistema binárioIdades 15–16

Carregando…

Digite uma linha de texto para ver que cada caractere tem um ponto de código Unicode, que o UTF-8 guarda em 1 a 4 bytes. Toque num caractere para ver como os bits do seu ponto de código se dividem entre os bytes e por que é, € e emojis precisam de 2, 3 e 4 bytes. A área Decodificar transforma uma sequência de bytes em hexadecimal ou binário de volta em texto e marca os bytes inválidos; a área Mojibake mostra o texto se desfazendo quando bytes UTF-8 são lidos com uma codificação antiga de um byte.

Aula: Dados de texto: ASCII, Unicode, codificação UTF-8, caracteres versus bytes

O que mostra

Os computadores guardam texto como números. O Unicode dá a cada caractere um ponto de código, escrito U+ seguido de dígitos hexadecimais, enquanto o ASCII cobre só 128 caracteres com 7 bits. O UTF-8 guarda cada ponto de código em 1 a 4 bytes: o primeiro byte começa com 0, 110, 1110 ou 11110 para indicar o comprimento, e cada byte seguinte começa com 10. Por isso o texto ASCII não muda em UTF-8, mas letras acentuadas, símbolos e emojis precisam de mais bytes do que caracteres. Ler bytes UTF-8 com uma codificação de um byte gera texto embaralhado chamado mojibake.

Como usar

Escolha um Exemplo ou digite na caixa Texto e toque no cartão de um caractere para ver seus bits divididos em bytes; compare o número de caracteres e de bytes. Em Decodificar bytes, clique em Pegar do texto ou digite bytes em hexadecimal e depois em Bytes errados. Em Mojibake, alterne entre Windows-1252 e Latin-1.

Parâmetros que você pode mudar

  • Área de trabalho Codificar texto em bytes, Decodificar bytes em texto, Texto embaralhado (mojibake)
  • Texto de exemplo Caracteres de 1, 2, 3, 4 bytes, Só ASCII, Letras latinas acentuadas, Símbolos e moedas, Emojis, Vários sistemas de escrita
  • Mostrar os bytes em binário
  • Codificação errada usada na leitura Windows-1252, Latin-1 (ISO-8859-1)

Perguntas para explorar

  1. Por que é precisa de 2 bytes em UTF-8 e e precisa de só 1 byte?
  2. Quantos bytes ocupa em UTF-8 uma linha com cinco emojis?
  3. Por que a palavra café às vezes aparece como café numa página web?