Hallo zusammen,
ich grübel gerade über ein Problem nach, das sich bestimmt mal wieder supereinfach lösen lässt
Ich habe ein
COM-Objekt, das mir einen Freitext in einem Puffer liefert der 512 Bytes gross ist und somit 256
Unicode-Zeichen (UTF-16, oder, da Windows, besser gesagt UCS-2) enthalten kann. Da drin steckt also ein nullterminierter Unicodestring.
Den in einen normalen String zu konvertieren ist nicht das Problem (das mache ich mit WideCharToString), nur habe ich dann in meinem normalen String ja durchaus auch Zeichen die mehr als ein Byte lang sind. Zumindest sagt die Delphi-Hilfe ja
Zitat:
"WideCharToString konvertiert den angegebenen nullterminierten
Unicode-String in einen String mit Einzel- oder Multibyte-Zeichen."
Klingt für mich nach einer Konvertierung in UTF-8? Oder was steckt dann sonst im String?
Auf jeden Fall möchte ich nun ein paar "Müllzeichen" (es sind zum Beispiel Tabs drin enthalten die bei der Ausgabe stören) entfernen, jedoch müsste ich ja auf die Länge der einzelnen Zeichen acht geben, um wenn zum Beispiel asiatische Zeichen drinständen, die nicht gnadenlos zu verhackstücken. Wie mach ich das denn nun am elegantesten? Mein Code sollte halt nicht annehmen, dass nur
ASCII im Feld steht.
Für jegliche Pointer, Tipps, Hinweise und Kommentare bin ich herzlich dankbar!
Edit: Tippfehler behoben