Saltar para o conteúdo

Base64

Origem: Wikipédia, a enciclopédia livre.
Diagrama de codificação Base64

Base64 é um método para codificação de dados para transferência na Internet (codificação MIME para transferência de conteúdo). É utilizado frequentemente para transmitir dados binários por meios de transmissão que lidam apenas com texto, como por exemplo para enviar arquivos anexos por e-mail.

É constituído por 64 caracteres ([A-Z],[a-z],[0-9], "/" e "+") que deram origem ao seu nome. O carácter "=" é utilizado como um sufixo especial e a especificação original (RFC 989) definiu que o símbolo "*" pode ser utilizado para delimitar dados convertidos, mas não criptografados, dentro de um stream.

Exemplo de codificação:

  • Texto original: Olá, mundo!
  • Texto convertido para Base64: T2zDoSwgbXVuZG8h

A codificação Base64 é frequentemente utilizada quando existe uma necessidade de transferência e armazenamento de dados binários para um dispositivo designado para trabalhar com dados textuais. Esta codificação é amplamente utilizada por aplicações em conjunto com a linguagem de marcação XML, possibilitando o armazenamento de dados binários em forma de texto.

Um fragmento de Leviathan, de Thomas Hobbes, (note a existência de espaços entre as palavras):

Man is distinguished, not only by his reason, but by this singular passion from
other animals, which is a lust of the mind, that by a perseverance of delight
in the continued and indefatigable generation of knowledge, exceeds the short
vehemence of any carnal pleasure.

Sua representação em caracteres ASCII codificados no formato Base64 MIME:

TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz
IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg
dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu
dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo
ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=

No fragmento acima, o equivalente em Base64 de Man é TWFu. Codificados em ASCII, os caracteres M, a, e n são armazenados como bytes com valores 77, 97, e 110, cujos valores binários são 01001101, 01100001, e 01101110. Estes 3 valores são concatenados formando um valor de 24 bits, produzindo 010011010110000101101110. Grupos de 6 bits (6 bits formam um máximo de 26 = 64 valores binários diferentes) são separados da esquerda para a direita (neste caso, há 4 conjuntos nos 24 bits) e convertidos em seus valores correspondentes em Base64.

Texto M a n
ASCII 77 (0x4d) 97 (0x61) 110 (0x6e)
Binário 0 1 0 0 1 1 0 1 0 1 1 0 0 0 0 1 0 1 1 0 1 1 1 0
Valor correspondente (index) 19 22 5 46
Codificado em base64 T W F u

Como ilustrado neste exemplo, três octetos são representados em Base64 como quatro caracteres.

A tabela de equivalência entre valores correspondentes (index) e os caracteres utilizados para codificação:

Valor Caractere
0 A
1 B
2 C
3 D
4 E
5 F
6 G
7 H
8 I
9 J
10 K
11 L
12 M
13 N
14 O
15 P
Valor Caractere
16 Q
17 R
18 S
19 T
20 U
21 V
22 W
23 X
24 Y
25 Z
26 a
27 b
28 c
29 d
30 e
31 f
Valor Caractere
32 g
33 h
34 i
35 j
36 k
37 l
38 m
39 n
40 o
41 p
42 q
43 r
44 s
45 t
46 u
47 v
Valor Caractere
48 w
49 x
50 y
51 z
52 0
53 1
54 2
55 3
56 4
57 5
58 6
59 7
60 8
61 9
62 +
63 /

Quando o número de bytes a ser convertido não for divisível por três (se houver somente um ou dois bytes para compor o último bloco de 24 bits), o seguinte algoritmo é aplicado:

Adiciona-se o número necessário de bytes com valor zero para que haja 3 bytes. Assim, o bloco fica completo e a conversão é feita normalmente. Se houver somente um byte de entrada significativo, somente os dois primeiros dígitos codificados em base64 (12 bits) são mantidos, e se houverem dois bytes, os três primeiros dígitos codificados (18 bits) são mantidos. O caractere '=' pode ser adicionado para que o último bloco codificado possua 4 caracteres. Assim, quando o último grupo contiver um octeto, os 4 bits menos significativos do grupo final de 6 bits são zero; e quando o último grupo contiver dois octetos, os dois bits menos significativos do grupo de 6 bits são zero.
Ícone de esboço Este artigo sobre informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy