![]() |
Unicode in Stream speichern
Hallo zusammen,
ich bräuchte mal nen Tip, von jemanden, der sich mit Unicode ein bisschen mehr auskennt wie ich. Ich muss einen UnicodeString in eine Datei speichern. Für WideString habe ich bis jetzt folgendes verwendet:
Delphi-Quellcode:
für Unicode würde ich es so umschreiben:Write(PWideChar(aValue)^, Length(aValue) * SizeOf(WideChar));
Delphi-Quellcode:
Nur das es kein PUnicodeChar und UnicodeChar gibt :-(
Write(PUnicodeChar(aValue)^, Length(aValue) * SizeOf(UnicodeChar));
... Mist, falsches Topic, bitte in richtiges Topic verschieben ... |
Re: Unicode in Stream speichern
Delphi 2007 kennt keinen UnicodeString.
Von welchem Typ hat denn nun dein "UnicodeString" wirklich? Ab Delphi2009 gibt es den Typen UnicodeString, welcher standardmäßig gleichbedeutend mit String ist und diesen kannst du dort wie deinen WideString behandeln. Denn auch dort gibt es keinen UnicodeChar und PUnicodeChar ... das sint und bleiben WideChar und PWideChar. Von der Datengröße her entspricht der UnicodeString (UCS2 / UTF-16) dem WideString. |
Re: Unicode in Stream speichern
Geht um Delphi 2010. Ok, wenn ich es wie WideString behandeln kann, kann ich ja die Routine davon nehmen.
Vielen Dank für die Info... Oliver |
Re: Unicode in Stream speichern
vorhin stand aber noch nichts von 2010 :angel2:
nja, der UnicodeString ist praktisch eine Mischung aus WideString und AnsiString. * vom Inhalt ist es ein "WideString" - also Unicode (UCS2 bzw. UTF-16) * von der Speicherverwaltung arbeitet er wie ein AnsiString - also er läuft über den Delphi-Speichermanager und verfügt über eine Referenzzählung - der WideString ist nur eine Kapselung/Umleitung zum OLE32-String (der WideString ist/war also eine für mein Empfinden eine Fehlkonstruction und ich hätte ihn schon von Anfang an gern wie einen Ansi-/UnicodeString umgersetzt gesehn ... und dafür dann einen "auffälligen" extra Typen für den OLE-String) |
Re: Unicode in Stream speichern
Zitat:
|
DP-Maintenance
Dieses Thema wurde von "alzaimar" von "Tutorials und Kurse" nach "Object-Pascal / Delphi-Language" verschoben.
Ist kein Tutorial, sondern eine Frage |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz