[Delphi (Object Pascal)] Delphi把一个缓冲区里的字节输出成16进制表示格式 →→→→→进入此内容的聊天室

来自 , 2021-04-03, 写在 Delphi (Object Pascal), 查看 140 次.
URL http://www.code666.cn/view/1458c664
  1. function BufToHex(const Buf; const Size: Cardinal): string;
  2. const
  3.   // maps nibbles to hex digits
  4.   cHexDigits: array[$0..$F] of Char = (
  5.     '0', '1', '2', '3', '4', '5', '6', '7',
  6.     '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
  7.   );
  8. var
  9.   I: Cardinal;  // loops thru output string
  10.   PB: ^Byte;    // addresses each byte in buffer
  11. begin
  12.   PB := @Buf;
  13. //  Result := '';
  14.   SetLength(Result, 2 * Size);
  15.   I := 1;
  16.   while I <= 2 * Size do
  17.   begin
  18.     Result[I] := cHexDigits[PB^ shr 4];
  19.     Result[I + 1] := cHexDigits[PB^ and $0F];
  20.     Inc(PB);
  21.     Inc(I, 2);
  22.   end;
  23. end;
  24. //delphi/2250

回复 "Delphi把一个缓冲区里的字节输出成16进制表示格式"

这儿你可以回复上面这条便签

captcha