AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

unicodefähiges Base32Decode

Ein Thema von semo · begonnen am 2. Feb 2010 · letzter Beitrag vom 7. Feb 2010
 
Benutzerbild von GPRSNerd
GPRSNerd

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: unicodefähiges Base32Decode

  Alt 3. Feb 2010, 13:39
Fehler in Encoder gefunden! Das ShiftLinks mit der Multiplikation war verkehrt herum:

Aus
nr := nr * 256 + ord(source[i]); muss
nr := nr * 256 + ord(source[5+1-i]); gemacht werden.
Dito mit der 2. Berechnung darunter.

Delphi-Quellcode:
function Base32Encode(source: String): String;
const
  alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';
var
  i: Integer;
  nr: Int64;
begin
  result := '';
  while length(source) >= 5 do
  begin
    nr := 0;
    for i := 1 to 5 do
      nr := nr * 256 + ord(source[5+1-i]);
    for i := 1 to 8 do
    begin
      result := result + alphabet[(nr mod 32) + 1];
      nr := nr div 32;
    end;
    delete(source, 1, 5);
  end;
  nr := 0;
  if length(source) > 0 then
  begin
    for i := 1 to length(source) do
      nr := nr * 256 + ord(source[Length(source)+1-i]);
    for i := 1 to 8 do
    begin
      if nr > 0 then
      begin
        result := result + alphabet[(nr mod 32) + 1];
        nr := nr div 32;
      end
      else
        result := result + '=';
    end;
  end;
end;
So stimmts dann auch mit dem anderen Code überein und geht unter D2009+.
Stefan
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz