Thema: Delphi string to UTF 16

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

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

Re: string to UTF 16

  Alt 26. Apr 2009, 13:06
Wie schon gesagt, wenn du ein nur in und von ANSI konvertierst, dann entspricht der Unicode-String der UTF16-Darstellung,
da nur Unicodezeichen zwischen #$8000 und #$fffd in unicode und utf16 eine andere Darstellung besitzen.

Delphi-Quellcode:
function AnsiToUtf16(const s: AnsiString): WideString;
//var i: Integer;
begin
  Result := s;
  //for i := 1 to Length(Result) do
  // if Result[i] > #$7fff then
  // raise Exception.Create('is not an utf8 string');
end;

function Utf16ToAnsi(const s: WideString): AnsiString;
var i: Integer;
begin
  for i := 1 to Length(s) do
    if s[i] > #$7fff then s[i] := '?';
  Result := s;
end;
(wenn du unbedingt willst, dann kannst du ja gern die auskommentierte Prüfung aktivieren, aber diese wird eh nicht's melden)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat