String 如何将AnsiStr转换为字节,反之亦然?

String 如何将AnsiStr转换为字节,反之亦然?,string,byte,pascal,lazarus,String,Byte,Pascal,Lazarus,希望有人能帮我解决这个问题-我必须从如下指定的接口读取数据: 使用TDataPortTCP,我可以使用Dataport.Peek(大小)读取缓冲区,并使用Dataport.pull(大小)从缓冲区中提取数据-这两种方法都以AnsiStr的形式提供结果 我想类似的东西应该可以工作,但我不知道如何将AnsiStr转换为字节,反之亦然: while DataPortTCP.Peek(2) > ZeroBytes do begin LengthInBytes := Dat

希望有人能帮我解决这个问题-我必须从如下指定的接口读取数据:

使用TDataPortTCP,我可以使用Dataport.Peek(大小)读取缓冲区,并使用Dataport.pull(大小)从缓冲区中提取数据-这两种方法都以AnsiStr的形式提供结果

我想类似的东西应该可以工作,但我不知道如何将AnsiStr转换为字节,反之亦然:

   while DataPortTCP.Peek(2) > ZeroBytes do
   begin
      LengthInBytes := DataPortTCP.Pull(2) ;
      sContent := DataPortTCP.Pull(LengthInByte) ;
   end;
如何声明/获取/转换零字节和长字节,以及如何处理Endianess

不幸的是,我对TBytes一无所知,而到目前为止我所读到的只是导致了更多的困惑;-)


如果有人能为我指出正确的方向,我将不胜感激。

您需要知道文本编码是什么。接收到的数据是标准ASCII格式的,DataPortTCP以ANSI字符串的形式提供数据