Online
Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.162 Beiträge
Delphi 12 Athens
|
AW: WideString zu AnsiString konvertieren
14. Feb 2011, 23:45
Sehr interessant.
jedenfalls hatte ich damals in meinem D7 solche Probleme nicht.
Geht es hiermit?
Delphi-Quellcode:
function UTF16ToCodepage(S: WideString): AnsiString;
var
i: Integer;
begin
if S <> '' then
begin
i := WideCharToMultiByte(CP_ACP, 0, PWideChar(S), Length(S),
nil, 0, nil, nil);
SetLength(Result, i);
WideCharToMultiByte(CP_ACP, 0, PWideChar(S), Length(S),
PAnsiChar(Result), i, nil, nil);
end else
Result := '';
end;
Delphi-Quellcode:
'GStreamer Codec and Totem Movie Player for Linux'#$D#$A
Evaluate von s (String) NACH der Funktion ergibt:
'ÿþG'#0'S'#0't'#0'r'#0'e'#0'a'#0'm'#0'e'#0'r'#0' '#0'C'#0'o'#0'd'#0'e'#0'c'#0' '#0'a'#0'n'#0'd'#0' '#0'T'#0'o'#0't'#0'e'#0'm'#0' '#0'M'#0'o'#0'v'#0'i'#0'e'#0' '#0'P'#0'l'#0'a'#0'y'#0'e'#0'r'#0' '#0'f'#0'o'#0'r'#0' '#0'L'#0'i'#0'n'#0'u'#0'x'#0#$D#0#$A#0#$D#0#$A#0
Ich wußte garnicht daß Delphi bei einer Stringkonvertierung das BOM (FE FF) entfernt, jedenfalls sollte danach am Anfang des Strings ein "?" stehen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
Geändert von himitsu (14. Feb 2011 um 23:51 Uhr)
|
|
Zitat
|