AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Base64EncStr / Base64DecStr von gammatester kein Unicode?
Thema durchsuchen
Ansicht
Themen-Optionen

Base64EncStr / Base64DecStr von gammatester kein Unicode?

Ein Thema von DieDolly · begonnen am 19. Nov 2019 · letzter Beitrag vom 20. Nov 2019
 
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#1

Base64EncStr / Base64DecStr von gammatester kein Unicode?

  Alt 19. Nov 2019, 19:36
Ich habe mir gerade die beiden funktionen Base64EncStr und Base64DecStr aus gammatesters Unit Mem_Util angeguckt und mir ist aufgefallen, dass die scheinbar kein Unicode können.
(͡° ͜ʖ ͡°) erg ibt etwas, was man nicht mit Base64DecStr zurückrechnen kann.

Delphi-Quellcode:
uses Mem_Util;

procedure TForm1.FormCreate(Sender: TObject);
begin
 Edit1.Text := '(͡° ͜ʖ ͡°)';
end;

function Base64Encode(const S: string): string;
begin
 Result := Base64EncStr(S);
end;

function Base64Decode(const S: string): string;
begin
 Result := Base64DecStr(S);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Edit2.Text := Base64Encode(Edit1.Text);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 Edit1.Text := Base64Decode(Edit2.Text);
end;
gammatesters Base64EncStr ergibt: KD+wID8/ID+wKQ==
TNetencoding.Base64Encode ergibt: KM2hwrAgzZzKliDNocKwKQ==

Gibt es hier einen Trick? Innerhalb von Mem_Util sind string-Parameter als BString deklariert, was bei mir AnsiString ergibt.
Delphi-Quellcode:
{$ifdef BIT16}
  {$ifdef V7Plus}
    type
      BString = string[255]; {String of 8 bit characters}
      pBString = ^BString;
      char8 = char; {8 bit characters}
      pchar8 = pchar;
  {$else}
    type
      BString = string[255]; {String of 8 bit characters}
      pBString = ^BString;
      char8 = char; {8 bit characters}
      pchar8 = ^char;
  {$endif}
{$else}
  {$ifdef UNICODE}
    type
      BString = AnsiString; {String of 8 bit characters}
      pBString = pAnsiString;
      char8 = AnsiChar; {8 bit characters}
      pchar8 = pAnsiChar;
    {$else}
    type
      BString = AnsiString; {String of 8 bit characters}
      pBString = pAnsiString;
      char8 = AnsiChar; {8 bit characters}
      pchar8 = pAnsiChar;
  {$endif}
{$endif}
Ich möchte gerne diese Funktionen nutzen, da die doch weitaus schneller sind als die in der TNetEncoding Unit.

Geändert von DieDolly (19. Nov 2019 um 19:58 Uhr)
  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 00:34 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 by Thomas Breitkreuz