Duplicar posible:
Why does base64 encoding requires padding if the input length is not divisible by 3?¿Por qué el relleno se usa en la codificación Base64?
Citando Wikipedia:
... estos caracteres de relleno debe entonces ser desechada cuando se decodifica pero aún permite el cálculo de la efectiva longitud del texto no codificado, cuando es longitud binaria de entrada no sería un múltiple de 3 bytes. ...
Pero el cálculo de los datos sin procesar de la longitud se puede realizar fácilmente aunque se elimine el carácter de relleno.
| Encoded
|--------------------------------------
Raw Size | Total Size | Real Size | Padding Size
1 | 4 | 2 | 2
2 | 4 | 3 | 1
3 | 4 | 4 | 0
4 | 8 | 6 | 2
5 | 8 | 7 | 1
6 | 8 | 8 | 0
7 | 12 | 10 | 2
8 | 12 | 11 | 1
9 | 12 | 12 | 0
10 | 16 | 14 | 2
.
.
.
Así que, dado el tamaño real, codificado (tercera columna) siempre se puede adivinar correctamente lo acolchado tamaño sería:
PaddedSize = 4 * Ceil (RealSize/4)
tanto, en teoría, no había necesidad de relleno. Algoritmo lo habría manejado. Teniendo en cuenta que la codificación Base64 es un estándar popular de la industria, se usa en muchas aplicaciones y dispositivos. Estos se habrían beneficiado de un tamaño codificado reducido. Entonces la pregunta es, ¿por qué el relleno se usa en la codificación Base64?
@Ignacio: Esa pregunta no es muy buena para explicar * por qué *, sin embargo. – BastiBen
Pensé que se permitía alguna duplicación (http: //blog.stackoverflow.com/2010/11/dr-strangedupe-o-how-i-learned-to-stop-worrying-and-love-duplication /) siempre que se haya puesto suficiente información en la pregunta y se haya preguntado con diferente perspectiva. – Hemant