Delphi, corda Copiar para matriz de bytes
Pergunta
o que eu tenho obras, mas estou procurando se existe uma maneira mais rápida para copiar uma string em um pByteArray
de sysutils
PByteArray = ^TByteArray;
TByteArray = array[0..32767] of Byte;
assumem a e s são configurados corretamente
a: pByteArray;
s: string;
Existe uma maneira rápida de fazer isso, ou seja, algo como cópia
for i := 1 TO Length(s) - 1 do
a^[i] := Ord(s[i]);
Delphi 7
Solução
Cuidado com o Move. Se você estiver usando o Delphi 2009, pode falhar. Em vez disso, use o seguinte:
Mover (s [1], um ^, comprimento (s) * sizeof (Char));
Você também pode usar TEncoding classe em SysUtils.pas (Delphi 2009/2010 ++ somente) para executar a tarefa.
Outras dicas
Nunca mente, verificou-
Move(s[1], a^, Length(s));
Você pode simplesmente lançá-lo:
a := @s[1];
O outro caminho é:
s := PChar(a);
Eu acho que você pode usar procedimento move
como neste exemplo
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow