Forum: Object-Pascal / Delphi-Language
Delphi
by GPRSNerd,
3. Feb 2010
Fehler in Encoder gefunden! Das ShiftLinks mit der Multiplikation war verkehrt herum:
Aus
nr := nr * 256 + ord(source);
muss
nr := nr * 256 + ord(source);
gemacht werden.
Dito mit der 2. Berechnung darunter.
function Base32Encode(source: String): String;
Forum: Object-Pascal / Delphi-Language
Delphi
by GPRSNerd,
3. Feb 2010
Deshalb füllt der Encoder ja auch mit Padding-Bytes hinten auf (=).
Forum: Object-Pascal / Delphi-Language
Delphi
by GPRSNerd,
3. Feb 2010
Hier Code von Embarcadero, der einwandfrei auch unter D2010 funktioniert:
const
ValidChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';
function FromBase32String(const inString : string) : string;
var
outString : string;
aByte : byte;
bit_buffer,
Forum: Object-Pascal / Delphi-Language
Delphi
by GPRSNerd,
3. Feb 2010
Dir ist schon bewusst, dass das hier wahrscheinlich kaum einer lesen kann ohne Zugang zu experts-exchange.com?