AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung FreePascal [FPC 2.6.2] AnsiString für binäre Daten verwendbar?
Thema durchsuchen
Ansicht
Themen-Optionen

[FPC 2.6.2] AnsiString für binäre Daten verwendbar?

Ein Thema von mjustin · begonnen am 9. Nov 2013 · letzter Beitrag vom 9. Nov 2013
 
Benutzerbild von himitsu
himitsu
Online

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

AW: [FPC 2.6.2] AnsiString für binäre Daten verwendbar?

  Alt 9. Nov 2013, 15:42
Das gibt die CodePage an, welche für den String verwendet wird.

Delphi-Quellcode:
type
  UTF8String = type AnsiString(CP_UTF8);
In den neuen LongStrings wird (zumindestens in Delphi) neben der String-Länge auch noch die CodePage und die CharSize gespeichert, damit Delphi dementsprechend die Typumwandlung automatisch machen kann, also die CodePage anpassen, wenn man den String von einer Variable in eine Andere kopiert/übergibt/castet.

Nur beim RawByteString wird keine Konvertierung des Textinhaltes vorgenommen.


Das TYPE gibt dabei an, daß ein eigener Typ in der RTTI generiert wird.
Delphi-Quellcode:
type
  X = Byte;
  Y = type BYTE;
X ist nur ein Alias für Byte, während TypInfo(X) das Byte als Typ liefert.
Y ist aber ein eigener Typ, welcher so groß wie ein Byte ist. Er ist auch kompatibel mit dem normalen Byte. Aber z.B. bei der Typprüfung für Parameter wird der Typ entsprechend ausgewertet.



Ein AnsiString/UnicodeString entspricht nur Teilweise einem array of AnsiChar/WideChar .
Dort ist noch hinten eine implizite doppelte #0 angehängt und dann eben noch die zusätzlichen erwähnten Infos (CharSize und CodePage, welche vor der Length untergebracht wurden)
Außerdem ist bei den LongStrings das CopyOnWrite aktiv, was man bei den normalen Arrays oftmals leider vergessen hat zu aktivieren.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 9. Nov 2013 um 15:47 Uhr)
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:39 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