我需要一种以十六进制格式而不是字符串格式从TCP连接读取数据的方法,以解释更多让我们举个例子:
当我们通过TCP连接发送“Test”等数据时,每个字符编码为ASCII码“54 65 73 54”,另一方面我使用currentReadbuffer读取数据,我需要的是以ASCII十六进制格式获取数据格式而不转换为字符串值。
答案 0 :(得分:1)
您可以使用以下内容将每个字符对从十六进制转换为字节:
function HexToByte(const value: string): Byte;
begin
Result := StrToInt('$'+Value);
end;
取决于您使用的Delphi版本和您使用的字符编码(是单字节,多字节?),您需要将这些字节转换为字符。
假设您使用单字节字符集(ASCII,Windows-1252等)和Delphi< 2009年,转换很容易:
function ByteToChar(const value: Byte): Char;
begin
Result := Char(Byte);
end;
编辑您的问题以使其更具体,您可以获得更专注的答案。
- 的Jeroen