![]() |
Delphi-Version: 7
Sind für FileStreams AnsiStrings vonnöten?
Hi,
Gemäß dem Tutorial über FileStreams (mit Records) unter ![]() In dem Tutorial werden AnsiStrings dafür verwendet (die mir noch nie begegnet sind) - ist das zwingend erforderlich, oder tun's auch herkömmliche Strings? MfG, gn7 |
AW: Sind für FileStreams AnsiStrings vonnöten?
String: AnsiString < D2009 < String: WideString Du arbeitest also schon die ganze Zeit mit Ansistrings.
|
AW: Sind für FileStreams AnsiStrings vonnöten?
Für solche "externen" Daten niemals dynamische Datentypen verwenden :!:
Denn wenn sich das Datenformat mal ändert, dann sind die Daten nur noch "Schrott". > kein Integer, String, Char und Co. Du mußt dich also für ein "festes" Format entscheiden. ShortString und AnsiString = immer ANSI WideString oder UnicodeStrng (seit D2009) = Unicode String = dynamisch und hängt vom Compiler ab Schreib den Stream/Datei mit D7 und versuch es dann mal mit 2009/XE auszulesen (oder andersrum), was bei String/Char dann natürlich ins Chaos führt. |
AW: Sind für FileStreams AnsiStrings vonnöten?
Für Strings ist immer ein Längenangabe nötig wenn man Multi-Byte-Zeichensätzen arbeitet wo auch im String 0-Bytes vorkommen können.
Normalerweise verwendet man ein Längenbyte(word/dword) als Längenangabe am Anfangen. |
AW: Sind für FileStreams AnsiStrings vonnöten?
Hier findest du ein Beispiel:
![]() Zur Speicherung benutze ich dort UTF8-kodierte Strings, damit die Daten zwar unicodefähig sind, aber zwischen den Delphiversionen austauschbar. Es gäbe auch andere Lösungen dafür, aber so ist es denke ich am einfachsten. |
AW: Sind für FileStreams AnsiStrings vonnöten?
Unicode kann man ja auch mit älteren Versionen auslesen.
bis D2007 als WideString ab D2009 als UnicodeString/String oder ebenfalls WideString Aber UTF-8 hat noch den Vorteil, daß es oftmals wohl weniger Speicher verbraucht (im europäischen Raum) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:32 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-2025 by Thomas Breitkreuz