Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: Codierung Stringstream????

  Alt 28. Jan 2010, 16:04
In der System-Unit verstecken sich ein paar UTF8-Funktionen, damit kannst du einfach die Strings zwischen Unicode (WideString) und UTF8 (AnsiString) umwandeln.


Delphi-Quellcode:
var A: AnsiString;
  S: WideString;
begin
  S := {dein Unicodetext};

  // nach UFT-8 kodieren, inkl. BOM
  A := #$EF#$BB#$BF + UTF8Encode(S);

  // oder so, ist bestimmt noch keinem aufgefallen, aber die BOM sind
  // alle jeweils DIE UNICODE-Markierung, welche in der
  // entsprechenden Kodierung mitgespeichert wurden
  A := UTF8Encode(#$FEFF + S);

  // bezüglich Delphi 2009 sollte es aber besser schon so gemacht
  // werden, wenn man das BOM schon kodiert angeben will ... nicht
  // daß dort das Delphi-Unicode alles kaputt macht und die Bytes
  // als ANSI ansieht und nach Unicode übersetzt
  A := #$00EF#$00BB#$00BF + UTF8Encode(S);

  // ja und nun muß man das A nur noch abspeichern
(wie man den String dann in einen Stream reinbekommt, daß weißt du ja bestimmt schon)
$2B or not $2B
  Mit Zitat antworten Zitat