Pourquoi ne l'encodage base64 exiger remplissage si l'entrée de la longueur n'est pas divisible par 3?

Quel est le but de rembourrage dans le codage base64. Ce qui suit est l'extrait de wikipedia:

"Un pad supplémentaire personnage est alloué qui peut être utilisé pour forcer la sortie encodé en un entier multiple de 4 caractères (ou de manière équivalente la forme non codée binaire texte n'est pas un multiple de 3 octets) ; ces caractères de remplissage doit ensuite être jetés lors du décodage, mais encore de permettre le calcul de la longueur effective de la forme non codée texte, lors de son entrée binaire de longueur ne serait pas un multiple de 3 octets (le dernier non-caractère de remplissage est normalement codée de telle sorte que les 6 derniers bits du bloc qu'il représente est complété par des zéros sur ses bits de poids faible, pas plus de deux pavé de caractères peut se produire à la fin de l'encodage du flux)."

J'ai écrit un programme qui pourrait base64 encode une chaîne et de décoder n'importe quel chaîne encodée en base64. Ce problème ne rembourrage en résout?

InformationsquelleAutor Anand Patel | 2010-11-02