Delphi - BinToHex und HexToBin : Umkehrung
Ich habe ein array of byte, das möchte ich umwandeln in einen hex-string und dann wieder in ein array von byte.
Ich bin mit der folgenden Umwandlung in einen hex-string:
function bintoHex(const bin: array of byte): String;
const HexSymbols = '0123456789ABCDEF';
var i: integer;
begin
SetLength(Result, 2*Length(bin));
for i := 0 to Length(bin)-1 do begin
Result[1 + 2*i + 0] := HexSymbols[1 + bin[i] shr 4];
Result[1 + 2*i + 1] := HexSymbols[1 + bin[i] and $0F];
end;
end;
Ich bin nicht sicher, wie es zu konvertieren zurück in ein byte-array richtig. Ich bin Dreharbeiten für so etwas wie die folgenden:
Type TDCArray = Array of Byte;
function xHexToBin(const HexStr: String): TDCArray;
const HexSymbols = '0123456789ABCDEF';
var i: integer;
begin
SetLength(Result, ???); //Need to now get half of the length, unsure how to go about that
for i := 0 to Length(HexStr)-1 do begin
//Here convert back into an array somehow...
//Result[i] := ???
end;
end;
Wie würde ich gehen über das tun dies?
Bin ich auch mit Delphi XE2.
RTL hat eine HexToBin und BinToHex.
InformationsquelleAutor Josh Line | 2012-10-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn du es selbst machen will:
ist built-in RTL-Byte-array-Typ, die Sie verwenden können, Ihre
TDCArray
statt.InformationsquelleAutor kludg
Warum nicht einfach die
BinToHex
undHexToBin
RTL-Funktionen?InformationsquelleAutor RRUZ
2 hex-chars darstellen 1 byte
Den code, den ich früher schrieb, war pseudocode, ich wollte Sie das ideea. Aber wenn Sie einige code zum einfügen hier ist die tatsächliche Umsetzung:
Btw Codierung ist nicht zu schneiden und einfügen 😉
sorry habe nicht einen compiler versuchen nun
Ich kann die Funktion geben, um ein byte-array...und beim ausführen der Funktion, die es einfach crashed die Anwendung. :/
Komisch ist, weiß ich jetzt. Habe ich etwas gelernt. Ich bin noch in der Schule lernen computer science. Ich habe gerade erst begonnen. Ganz einfach, weil ich nicht wusste, die Antwort ist traurig? Dann ist jeder post hier ist "traurig"? Ich habe GELERNT aus den Antworten, und jetzt kennen und verstehen die Antwort, Es ist traurig, dass Sie haben, unhöflich zu sein ohne Grund. Ich wollte versuchen, danke.
InformationsquelleAutor opc0de