AGB  ·  Datenschutz  ·  Impressum  







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

Eure Anregungen für das DEC 5.3 gebraucht

Ein Thema von Assertor · begonnen am 13. Mai 2010 · letzter Beitrag vom 18. Mär 2018
 
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#1

Eure Anregungen für das DEC 5.3 gebraucht

  Alt 13. Mai 2010, 16:07
Hallo DPler,

wie einige von Euch vielleicht schon wissen, arbeite ich derzeit an der DEC 5.3.

Bisher sind folgende Änderungen schon fertig:
  • Eine recht umfangreiche interne Umstellung von Binary/RawByteString auf TBytes (array of Bytes in älteren Delphis)
  • Bugfixes für C++ Builder Kompatibilität
  • Anpassung der Conditional Defines
  • Erweitere Fehlerbehandlung und Prüfung von Eingabedaten
Folgendes ist geplant:
  • Rewrite aller Formattings (hex, base32, base64 etc)
  • Komplexe GUI Demo
  • Self-Tests mit Testvektoren
  • Unittests
Wenn alles fertig ist, gibt es auch einen Link zum neuen "zu Hause" der DEC (Luckie bekommt natürlich auch wieder ein Release).

In diesem Thread geht es um Überlegungen und Wünschen zum nächsten Release. Neue Hashes und Cipher wird es in dieser Version nicht geben, dafür fehlt leider die Zeit. Konkret ergeben sich durch meine Arbeit einige Umstellungen, wobei ich den Aufwand für die Konvertierung von DEC 5.1 und 5.2 nutzenden Projekten so gering wie möglich halten werde. Prinzipiell entfällt aber der Datentyp Binary, da nun alles auf Bytes arbeitet. Im Gegensatz zu früheren Code-Snippets hier im Forum, wird diese Umstellung keine zusätzlichen Sicherheitsprobleme schaffen, da immer auf den Eingabedaten gearbeitet wird, diese also nicht unnötig vervielfältigt werden und im Speicher rumfliegen.

Wo ich jetzt die Anregung von Euch, den DEC Nutzern, gebrauchen kann: Das gewünschte Stringhandling in den Formatierungsklassen (TDECFormat, TFormat_xyz). Es soll ja auch die Möglichkeit geben z.B. HEX zu Strings und Strings zu HEX zu wandeln. Technisch soweit kein Problem, aber es kommen je nach Art des Ziels natürlich unterschiedliche Ergebnisse raus.

Angenommen, es gäbe z.B. die folgenden Funktionen für TDECFormat:
Delphi-Quellcode:
class function EncodeString(const Value: string): string; overload;
class function DecodeString(const Value: RawByteString): string; overload;
class function EncodeAnsiString(const Value: AnsiString): AnsiString; overload;
class function DecodeAnsiString(const Value: RawByteString): AnsiString; overload;
class function EncodeWideString(const Value: WideString): WideString; overload;
class function DecodeWideString(const Value: RawByteString): WideString; overload;
Würde ich nun TFormat_HEX.DecodeString('74657374') in einem aktuellen unicodefähigen Delphi aufrufen, bekäme ich ja nur unlesbaren Quatsch heraus, bei TFormat_HEX.DecodeAnsiString('74657374') jedoch den AnsiString "test". TFormat_HEX.EncodeString('test') liefert bei Unicode ja das Ergebnis 7400650073007400, bei EncodeAnsiString('test') natürlich die 74657374.

Ich hätte das gerne zusammengelegt, jedoch finde ich keine allgemeingültige Lösung. Es wäre Hellsehen gefordert zu wissen, ob die Eingabedaten in HEX Ansi oder Unicode sind.

Hat jemand eine Idee hierzu? Was wäre Euch lieber, wäre es so wie oben gepostet für jedermann verständlich? Oder würdet Ihr für DecodeString('74657374') das Ergebnis "test" immer erwarten, egal ob Unicode oder ANSI (was ja eigentlich verkehrt wäre)?

Es geht hier nur um das Format-Handling von Strings, die Byte/Buffer-Methoden und Cipher/Hashes sind hiervon natürlich nicht betroffen.

Gruß,
Assertor
Frederik
  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 19:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz