Si un serveur a reçu une chaîne base64 et voulu vérifier la taille avant de les convertir,, dire qu'il voulait toujours permis de le dernier tableau d'octets à 16 KO. Comment grand pourrait un 16KB tableau d'octets devenir éventuellement lors de la conversion d'une chaîne Base64 (en supposant un octet par caractère)?
Réponses
Trop de publicités?Base64 encode chaque ensemble de trois octets en quatre octets. En outre, la sortie est rembourré pour toujours être un multiple de quatre.
Cela signifie que la taille de la base-64 représentation d'une chaîne de caractères de taille n est:
ceil(n / 3) * 4
Ainsi, pour un tableau de 16 ko, le base-64 représentation sera ceil(16*1024/3)*4 = 21848 octets de long.
À Partir De Wikipedia
Noter qu'en raison d'un apport de n octets, la sortie sera (n + 2 - (n + 2) % 3)) / 3 * 4 octets de long, de sorte que le nombre de sortie octets par octets d'entrée converge vers 4 / 3 ou 1.33333 pour n grand.
Donc 16kb * 4 / 3 donne que très peu de plus de 21,3' ko, ou 21848 octets, pour être exact.
Espérons que cette aide