¿Cuál es la mejor forma de convertir una matriz de bytes declarados como TBytes a un RawByteString en Delphi 2009? Este código funciona en realidad, tal vez hay una manera más rápida (sin circular):¿Cómo puedo convertir TBytes en RawByteString?
function Convert(Bytes: TBytes): RawByteString;
var
I: Integer;
begin
SetLength(Result, Length(Bytes));
for I := 0 to ABytes - 1 do
Result[I + 1] := AnsiChar(Bytes[I]);
end;
'SetLength()' llamará a 'ReallocMem' para cambiar el tamaño del RawByteString existente, por lo que esta versión quizás innecesaria' move() 'los datos anteriores, sin necesidad, p. si llamas esto en un bucle. 'SetString (Resultado, PAnsiChar (Bytes), length (Bytes)' será más rápido. –