Delphi,将字符串复制到Byte数组

时间:2009-12-01 06:32:35

标签: delphi string bytearray delphi-7

我有什么工作,但我正在寻找是否有更快的方法将字符串复制到pByteArray

来自sysutils

  PByteArray = ^TByteArray;
  TByteArray = array[0..32767] of Byte;

假设 a s 设置正确

 a:   pByteArray;
 s:   string;

有一种快速的方法可以做到这一点,比如复制

  for i := 1 TO Length(s) - 1 do
   a^[i] := Ord(s[i]);

delphi 7

4 个答案:

答案 0 :(得分:8)

小心使用Move。如果您使用的是Delphi 2009,则可能会失败。相反,使用这个:

移动(s [1],a ^,长度(s)* SizeOf(Char));

您也可以在SysUtils.pas(仅限Delphi 2009/2010 ++)中使用TEncoding类来执行任务。

答案 1 :(得分:2)

没关系,找到它

 Move(s[1], a^, Length(s));

答案 2 :(得分:2)

你可以简单地施展它:

  a := @s[1];

另一种方式是:

  s := PChar(a);

答案 3 :(得分:1)

我认为您可以像example

一样使用move程序