1 bajt to 8 bitów
8 bitów to 256 kombinacji
kiedyś stosowano 7 bitowy bajt
7 bajtów to 128 kombinacji
128 kombinacji świetnie nadaje się do reprezentacji alfabetu łacińskiego (angielskiego/arabskiego)
wraz z cyframi (arabskimi) oraz spacja przecinkiem i innymi znakami tj, przecinakim kropka, procentem itp.
W definicji ASCII czytamy
Cytat
ASCII [aski] (ang. American Standard Code for Information Interchange) - 7-bitowy kod przyporządkowujący liczby z zakresu 0-127: literom (alfabetu angielskiego), cyfrom, znakom przestankowym i innym symbolom oraz poleceniom sterującym
dzisiaj komputery operuja na 8 a nie 7 bitowym bajcie, powstało wiele kodowań (stron kodowych) ktore zagospodarywaly pozsostale 128 kombinacji na potrzeby różnych alfabetów.
teraz mamy juz utf8 ktore jest o tyle zajebiste, ze obsluguje kazdy alfabet swiata przez kodowanie kazdej litery w 8, 16, 32 i 64 bitach...
Wracając do tematu.
W cooke mozna uzyc 85 znaków.
kodowanie base85/ascii85 jest w stanie zawrzec kazdy 8 bajtowy ciag znakow (256 kombinacji) w 85 znakach (85 kombinacji).
efektem jest zwiekszenie wyjsciowego ciagu znakow ok 3 krotnie..
Base85 lepiej niż base64 nadaje sie do kodowania danych przeznaczonych do umieszczenia w cookie, poniewaz wykorzysuje 85 zamiast 64 znakow
dzieki czemu ciag jest o te 30% krotszy.
jedyny minus to to, ze php nie posiada funkcji do kodowania w base85 wbudowanej w jadro, a kodowanie przy pomocy zewnetrznych bilitek pochlania duzo czasu procesora..