Einzelnen Beitrag anzeigen

guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#9

Re: Stream in Hexcode umwandeln und zurück

  Alt 26. Aug 2009, 09:26
Ich habe sowas noch nicht probiert, aber es klingt eigentlich nicht sehr schwierig.

Wie würde ich es machen?

Die DLL in einen Stream laden. Diesen Stream byteweise auslesen und jedes Byte (das ja eine Wert zwischen 0 und 255 annehmen kann) in die zwei Zeichen von "00" bis "FF" umkodieren (Wie das am einfachsten geht findet sich sicher hier im Forum). Das führt letztendlich dazu, dass der String doppelt so lang ist wie die ursprüngliche DLL (Bytelänge). Umgekehrt gehts genauso. Den String vom Anfang an, immer zwei Zeichen, wieder in einen Wert umwandeln und byteweise in der Stream schreiben.

edit: Habs in den Indys gefunden..

Delphi-Quellcode:
IdHexDigits: array [0..15] of AnsiChar = '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');

function ByteToHex(const AByte: Byte): string;
begin
  Result := IdHexDigits[AByte shr 4] + IdHexDigits[AByte and $F];
end;
  Mit Zitat antworten Zitat