- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
delphi HexStrToBytes
procedure HexStrToBytes(hHexStr: String; pbyteArray: Pointer);
var
i, j:WORD;
tempPtr:PChar;
twoDigits:String[2];
begin
tempPtr := pbyteArray;
j := 1;
for i := 1 to (Length(hHexStr) DIV 2) do
begin
twoDigits:=Copy(hHexStr, j, 2);
Inc(j, 2);
PByte(tempPtr)^:=StrToInt('$' + twoDigits);
Inc(tempPtr);
end;
end;
// 调用实例
// sOutBuf:array[0..512] of byte; retstr: string;
// BytesToHexStr(retstr,@sOutBuf[0],outLen);
procedure BytesToHexStr(var hHexStr: String; pbyteArray: PByte;
InputLength: WORD);
Const
HexChars : Array[0..15] of Char = '0123456789ABCDEF';
var
i, j: WORD;
begin
SetLength(hHexStr, (InputLength * 2));
FillChar(hHexStr[1], InputLength * 2, #0);
j := 1;
for i := 1 to InputLength do begin
hHexStr[j] := Char(HexChars[pbyteArray^ shr 4]); inc(j);
hHexStr[j] := Char(HexChars[pbyteArray^ and 15]); inc(j);
inc(pbyteArray);
end;
end;