Noch einfacher gehts mit dieser function, die wandelt alles (basis 2 bis 36) von einer beliebigen basis in jede beliebige basis:
Delphi-Quellcode:
function BaseToBase(Value: string; StartBase, EndBase: byte): string;
const Digits = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var i: Integer; dez, j: Int64;
begin
Result:='';
if (StartBase<2) or (StartBase>36) or
(EndBase<2) or (EndBase>36) then Exit;
for i:=1 to Length(Value) do begin
j:=Pos(Value[i], Digits);
if (j>StartBase) or (j=0) then Exit;
end;
j:=1;
dez:=0;
for i:=Length(Value) downto 1 do begin
dez:=dez + (Pos(Value[i], Digits)-1) * j;
j:=j*StartBase;
end;
repeat
Result:=Digits[dez mod EndBase+1] + Result;
dez:=dez div EndBase;
until dez=0;
end;