Saltar para o conteúdo
BCBinary Code Translator
Menu
Voltar ao blog
Tutorial

Mensagens em binário: um jogo de codificação entre amigos

Crie e descodifique mensagens em binário com grupos de oito bits, saiba onde entra o UTF-8 e perceba por que motivo codificação não significa segredo.

3 min de leitura
Por Binary Code Translator
#binário#codificação#diversão#tutorial

Um código para aprender, não para esconder

Transformar uma frase numa fila de zeros e uns é uma boa forma de explorar bytes e codificações de carateres. À primeira vista, o resultado parece uma mensagem secreta. Contudo, qualquer pessoa que conheça a regra consegue revertê-lo: binário é uma representação, não é encriptação.

Este jogo usa bytes UTF-8 apresentados em grupos de oito bits. Para letras ASCII, cada caráter ocupa um byte. Letras acentuadas e outros símbolos podem ocupar vários bytes.

Primeira mensagem: apenas ASCII

Comece por OLA. Os valores ASCII são 79, 76 e 65:

O → 01001111
L → 01001100
A → 01000001

A mensagem completa fica assim:

01001111 01001100 01000001

Os espaços entre grupos são apenas separadores visuais. Não fazem parte dos três bytes.

Como descodificar à mão

Para cada grupo de oito bits, some os valores das posições que contêm 1. As posições de um byte valem 128, 64, 32, 16, 8, 4, 2 e 1.

No primeiro grupo, 01001111, estão ativos 64, 8, 4, 2 e 1:

64 + 8 + 4 + 2 + 1 = 79 → O

Repita o processo para os restantes grupos e procure os valores na tabela ASCII. Para uma mensagem curta, papel e lápis chegam; para uma frase maior, o conversor reduz erros de transcrição.

E se houver acentos?

A palavra OLÁ termina em Á, que não existe no ASCII de 7 bits. Em UTF-8, esse caráter usa dois bytes:

OLÁ
01001111 01001100 11000011 10000001

Há três carateres visíveis, mas quatro bytes. Contar grupos como se cada um correspondesse sempre a uma letra daria uma conclusão errada. O descodificador precisa de juntar 11000011 10000001 segundo as regras de UTF-8.

Um desafio em três níveis

Nível 1 — algarismos e letras básicas

Codifique uma palavra curta sem acentos, retire os espaços entre bytes e peça a outra pessoa que volte a agrupá-los. Para evitar ambiguidade, indique que a largura é de oito bits.

Nível 2 — pontuação e espaços

Inclua um espaço, cujo byte ASCII é 00100000, e um ponto de exclamação, 00100001. Os separadores de apresentação devem ficar claramente distintos do byte que representa um espaço real.

Nível 3 — português em UTF-8

Use uma frase como Olá!. O objetivo passa a ser identificar limites entre sequências UTF-8, em vez de assumir uma relação de um byte por caráter.

Experimente descodificar esta mensagem:

01000010 01001001 01010100 01010011

Cada grupo corresponde a B, I, T e S: a resposta é BITS.

Regras úteis para o jogo

  • Combinem previamente a codificação: UTF-8 é uma escolha prática.
  • Conservem os zeros à esquerda de cada byte.
  • Separem visualmente os bytes sem confundir o separador com dados.
  • Não usem este método para palavras-passe, chaves ou informação confidencial.
  • Se a mensagem vier de uma fonte desconhecida, confirmem também a codificação e a integridade dos bytes.

Para criar um desafio, use o conversor de texto para binário. Para verificar a resposta, cole os bits no conversor de binário para texto. Todo o processamento dos conversores ocorre localmente no navegador.

O valor do exercício está em tornar visível a cadeia entre texto, números, bytes e bits. O aspeto misterioso é divertido; a segurança, essa, exige ferramentas criptográficas próprias.

Preferências de cookies

Gerir as preferências de cookies. Os cookies necessários não podem ser desativados.

Necessários

Obrigatório

Necessários para seleção de idioma, escolhas de privacidade e funcionalidades básicas do site.

Cookies: NEXT_LOCALE

Análises

Cookies opcionais de análise ajudam a entender o tráfego e melhorar o site.

Cookies: _ga, _gid, _gat, _clck, _clsk

Publicidade

Cookies opcionais de publicidade podem ser usados para mostrar anúncios relevantes e medir desempenho.

Cookies: __gads, _gcl_au, IDE