Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

AW: WideString zu AnsiString konvertieren

  Alt 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)
  Mit Zitat antworten Zitat