如何将 AnsiString 转换为 TBytes,反之亦然?
How to convert AnsiString to TBytes and vice versa?
我有一个 AnsiString
,我需要以最有效的方式将其转换为 TBytes
。我该怎么做?
假设您想保留相同的编码,您可以这样做
SetLength(bytes, Length(ansiStr));
Move(Pointer(ansiStr)^, Pointer(bytes)^, Length(ansiStr));
反过来
SetLength(ansiStr, Length(bytes));
Move(Pointer(bytes)^, Pointer(ansiStr)^, Length(bytes));
函数 BytesOf
将 AnsiString 转换为 TBytes。
var
A: AnsiString;
B: TBytes;
begin
A := 'Test';
B := BytesOf(A);
// convert it back
SetString(A, PAnsiChar(B), Length(B));
end;
我有一个 AnsiString
,我需要以最有效的方式将其转换为 TBytes
。我该怎么做?
假设您想保留相同的编码,您可以这样做
SetLength(bytes, Length(ansiStr));
Move(Pointer(ansiStr)^, Pointer(bytes)^, Length(ansiStr));
反过来
SetLength(ansiStr, Length(bytes));
Move(Pointer(bytes)^, Pointer(ansiStr)^, Length(bytes));
函数 BytesOf
将 AnsiString 转换为 TBytes。
var
A: AnsiString;
B: TBytes;
begin
A := 'Test';
B := BytesOf(A);
// convert it back
SetString(A, PAnsiChar(B), Length(B));
end;