作为Unicode
string
(在
Unicode version of Inno Setup
一串
AnsiString
)有点明智。再加上
UTF-16 LE BOM
(
FEFF
):
procedure RtlMoveMemoryFromStringToPtr(Dest: PAnsiChar; Source: string; Len: Integer);
external 'RtlMoveMemory@kernel32.dll stdcall';
function SaveStringToUFT16LEFile(FileName: string; S: string): Boolean;
var
A: AnsiString;
begin
S := #$FEFF + S;
SetLength(A, Length(S) * 2);
RtlMoveMemoryFromStringToPtr(A, S, Length(S) * 2);
Result := SaveStringToFile(FileName, A, False);
end;
这正好相反:
Inno Setup Pascal Script - Reading UTF-16 file
.