Bitte lies doch erstmal unsere Antworten. Himitsu hat sich sogar noch mehr Mühe gegeben als ich mit seiner Antwort und alles relevant steht schon drin. Insbesondere:
chr($2153);
Ich benutze Delphi2010 also eigentlich sollte es ja UTF8 beherschen.
Aber die Wirklichkeit sieht anders aus.
Delphi 2010 soll erstmal vor allem
Unicode verstehen. Die Strings sind intern allerdings meines Wissens nach UTF-16 (bzw. UCS-2 auf Windows 2000, NT4). Was du also mit UTF-8 willst und wieso du deine Literale aufdröselst als ob sie UTF-8 wären, obwohl du ja ein WideChar benutzen könntest, ist mir schleierhaft.
Übrigens ein Type Cast mit AnsiChar funktioniert, aber wahrscheinlich nur in den unteren Bereichen einer Codepage.
Nein, der Typecast ist Unsinn, weil ein AnsiChar nur 8 Bits hat und du 16 Bits (WideChar) brauchst. Siehe Himitsus erste Antwort.
Könntest du mir vllt ein Beispiel für eine Surrogate Berechnung geben?
Warum kannst du nicht WideChar benutzen?
@Himitsu: er hat nen Literal den er in einem String (sprich: WideString) verarbeiten will. Wo ist da etwas von UTF-8 zu sehen? Ich seh jedenfalls nix dergleichen.