Sagen wir so "F" ist in Hex der höchste Wert der durch ein 4 Binärstellen abgedeckt werden kann, ein halbes(!) Byte, 4 Bit.
F = 1111 (maximum)
Wenn man das vorrechnet:
1 = 0001
2 = 0010
3 = 0011
4 = 0100
5 = 0101
usw.
bis 9, dann kommt A (Hex!) bis F (Hex) (
https://de.wikipedia.org/wiki/Hexadezimalsystem)
und F ist wie gesagt 1111.
Du musst also "nur" die Stellen bis zum A = 10 in Hex = 10 Schritte "binär" hochzählen, wie in dem Beispiel.
Hier gibt es auch eine Umrechnungstabelle, die das verdeutlicht:
http://www.arndt-bruenner.de/mathe/scripts/Zahlensysteme.htm#hexbin
Man geht also von rechts nach links, wobei man anfängt bei: 0000 -> 0001 -> 0010 -> 0011 -> 0100 -> 0101 -> 0110 -> 0111 -> 1000 usw.
Eigentlich könnte man über Hexadezimal auch auf einen Dezimalwert kommen, aber das wird in diesem Fall ja nicht gefragt, man könnte es machen, aber lassen wir das mal kurz weg.
Um jetzt von Binär ins Dezimalsystem zu kommen, nehmen wir den Binärwert:
sagen wir: 0101 und den zweiten Teil 1101, also 0101 1101 (ein Byte)
Für jede Stelle rechnet man dann mal 0 oder 1 * 2 (zwei als Basis) hoch Stelle in der Binärfolge, ganz rechts angefangen hat die Stelle die Potenz 0.
Daraus ergibt sich:
0 = 0 * 2 hoch 7 = 0
1 = 1 * 2 hoch 6 = 2*2*2*2*2*2 = 64
0 = 0 * 2 hoch 5 = 0
1 = 1 * 2 hoch 4 = 2*2*2*2 = 16
das war der erste Block, jetzt der zweite Teil:
1 = 1 * 2 hoch 3 = ??
1 = 1 * 2 hoch 2 = ??
0 = 0 * 2 hoch 1 = 0
1 = 1 * 2 hoch 0 = 2
das rechnet man zusammen und erhält die Dezimalzahl...
Allerdings sagt:
https://de.wikipedia.org/wiki/Base64#Vorgehen_bei_der_Kodierung
Das drei Byte (24 Bit) genommen werden zur Kodierung, die in 6 Stellen (Bit) in einen Block unterteilt werden:
Also um bei dem Beispiel zu bleiben, bei "0101 1101" hättest du zur Kodierung eines Zeichens "0101 11" der Rest "01" würde mit im nächsten Block sein. 01 hat dann aber auch weiterhin die Wertigkeit hoch 1 und hoch 0 in der Rechnung des nächsten Blocks von 6 Bit. gefolgt von hoch 7 usw.
Bedenke aber, bei der Berechnung wird die "volle Potenz" genommen: also "0101" hat immer noch (hoch 7, hoch, 6, hoch 5, hoch 4 usw...) als Wert mit Basis von 2.
In deiner Tabelle die gegeben ist, musst du nun einfach das Ergebnis durch das jeweilige Zeichen ersetzen:
https://de.wikipedia.org/wiki/Base64#Base64-Zeichensatz
0 = A
25 = Z
26 = a
51 = z
52 = 0
53 = 1
...
61 = 9
bis hier ist es logisch, Großbuchstaben, Kleinbuchstaben, 0-9...
62 = +
63 = /
Und + und / .
Wenn du den Wert 25 Dezimal hast, hast du ein "Z", bei 26 das kleine "a"....
Edit:
Ich sehe gerade auch, die Seite hier hat eine sehr gute Beschreibung:
http://www.arndt-bruenner.de/mathe/scripts/Zahlensysteme.htm#hexbin
Einfach mal den HexWert eintragen und "Vorrechnen" lassen
Weil 255 Schritte bei FF als Hexwert durchzugehen um auf einen Binärwert zu kommen, ist vielleicht etwas mühselig