Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.051 Beiträge
 
Delphi 12 Athens
 
#7

AW: WideString zu AnsiString konvertieren

  Alt 15. Feb 2011, 00: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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (15. Feb 2011 um 00:51 Uhr)
  Mit Zitat antworten Zitat