Você está na página 1de 3

Explicação base64

O que é o base64?
É um algoritmo de codificação, onde converte dados binários para serem enviado por
meios que lidam apenas com texto, ele tem esse nome por possuir 64 símbolos, eles sendo
as letras de A a Z maiúsculas e minúsculas, os dígitos de 0 a 9 e os símbolos “/” e “+”. Ele
serve para codificar dados para serem usados na URL por exemplo, ou enviar arquivos
anexados por e-mail que não tem formato de texto.

Como funciona o base64?

Codificação
O base64 um um conjunto de 64 caracteres para para representar os dados binários

O algoritmo funciona em blocos de 3 bytes por vez, em suma ele pega 3 caracteres da
mensagem, se o comprimento dos dados não for múltiplo de 3, ele adiciona bytes nulos no
final para preencher o último bloco.

Após pegar os 3 bytes, os bytes são convertidos para bits, dando 3 grupos de 8 bits, que
são juntados em um grupo de 24 bits. Os bits então são agrupados em blocos de 6 bits,
cada bloco pode representar até 64 valores diferentes, como o número de caracteres
correspondentes da nossa base. Cada bloco de 6 bits vai virar um número de 0 a 63, que
depois será olhado na base64 qual letra aquele número representa.
Caso o não de para dividir em 4 grupos, pois está faltando bits, então será adicionados
bits nulos para poder fechar o conjunto de 4 blocos de 6 bits, esses zeros serão
transformados em um “=” que é para saber que precisou ser completado, pois faltou dado
para chegar aos bits necessários. Ai então todos os caracteres codificados serão juntados e
será retornada a mensagem codificada.

Decodificação
É recebido uma mensagem codificada, após isso a mensagem codificada é dividida
em 4 grupos de caracteres, cada caractere da base64 será transformado de volta em seu
valor correspondente a 6 bits, ignorando o caractere “=” que foi usado como
preenchimento para fechar o número de bits, tudo será juntado para um grupo de 24
bits.

Os 24 bits obtido em cada grupo de caracteres serão então divididos em 3 bytes de 8


bits, os quais representam os caracteres originais da mensagem antes da codificação. Após
isso a os bytes obtidos são combinados em uma sequência de bytes, que forma a
mensagem original.

Após isso então usamos a codificação dos caracteres, para decodificar a sequência de
bytes em uma string, que seria a string original. (normalmente usamos a codificação de
caracteres originais com UTF-8)

Você também pode gostar