Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   EncodeByte (StreamToString/StringToStream) (https://www.delphipraxis.net/94704-encodebyte-streamtostring-stringtostream.html)

BUG 25. Jun 2007 20:42


EncodeByte (StreamToString/StringToStream)
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,

hier das erste nützliches Stück Code, das ich hier veröffentliche :)

Das ganze sind zwei Funktionen, die dazu dienen Binärdaten zu Strings umzuwandeln bzw. wieder zurück.

Features:
  • Platzsparend gegenüber hexadezimaler Darstellung (1 Word => 3 Chars)
  • 2 Prüfbits pro Word
  • Einfache Anwendung durch Streams
  • Bei fehlernhaften Eingaben werden Exceptions geschmissen

Wofür ist das gut:
  • Speichern von Binärdaten in Textdateien (ini/xml)
  • Übertragen von Binärdaten über Medien die nur Text unterstützen (SMS :) )
  • "Menschentaugliche" Darstellung (z.B. für Registrierungsschlüssel)

Als Demo (und zum Testen) gibt es ein Progrämmchen, das Dateien laden und speichern kann.

Kritik, Lob, Verbesserungen, usw. erwünscht.

MfG,
Bug

Luckie 25. Jun 2007 23:05

Re: EncodeByte (StreamToString/StringToStream)
 
Zitat:

Zitat von BUG
Wofür ist das gut:
  • Speichern von Binärdaten in Textdateien (ini/xml)
  • Übertragen von Binärdaten über Medien die nur Text unterstützen (SMS :) )
  • "Menschentaugliche" Darstellung (z.B. für Registrierungsschlüssel)

Tut das nicht auch eine Base64 Codierung oder wie die heißt?

BUG 26. Jun 2007 17:11

Re: EncodeByte (StreamToString/StringToStream)
 
Jup, aber leider habe ich dazu nie eine Beschreibung gefunden,
nur das die Base-Codierung, 2 Byte in drei Buchstaben packt.
(Habs mal irgendwo bei E-Mail Anhängen gelesen.)

Und da bei mir pro 2 Bytes in den 3 Buchstaben 2 Bit übrig bleiben,
gibt es 2 Kontrollbits gratis dazu :)

Wenn jemand eine ausführliche Beschreibung der Base64-Codierung hat,
währe ich froh, wenn man mir sagen könnte, wo man diese findet.
(Standartkonform lebt es sich natürlich besser ...)

Aber das hier sollte auch funktionieren.

MfG,
Bug

Khabarakh 26. Jun 2007 17:59

Re: EncodeByte (StreamToString/StringToStream)
 
Wikipedia, die ungenutzte Enzyklopädie :gruebel: ?

Zitat:

nur das die Base-Codierung, 2 Byte in drei Buchstaben packt.
Falsch, 3 Byte in 4, also im Gegensatz zu deinem Verfahren optimal. Und ich denke, dass genügend andere Wege existieren, die Unversehrtheit von Daten zu überprüfen.

BUG 26. Jun 2007 18:12

Re: EncodeByte (StreamToString/StringToStream)
 
:duck: Ich hatte immer nur nach Base gesucht ... und nichts gefunden.

Zitat:

Und ich denke, dass genügend andere Wege existieren, die Unversehrtheit von Daten zu überprüfen.
Ok, hast recht. Ne gute Übung wars trotzdem :)

Vielen Dank,
Bug


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 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