AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE IDE Dateicodierung: was sollte man da einstellen
Thema durchsuchen
Ansicht
Themen-Optionen

IDE Dateicodierung: was sollte man da einstellen

Ein Thema von ggscholz · begonnen am 2. Mai 2023 · letzter Beitrag vom 5. Mai 2023
Antwort Antwort
ggscholz

Registriert seit: 20. Nov 2013
Ort: Aachen
82 Beiträge
 
Delphi 11 Alexandria
 
#1

IDE Dateicodierung: was sollte man da einstellen

  Alt 2. Mai 2023, 19:44
In der IDE kann ich unterhalb des Editors die Dateicodierung einstellen.
  • Was sollte da eingestellt sein?
  • Welche Auswirkung haben unterschiedliche Codiereinstellungen in einem Projekt

Schon jetzt herzlichen Dank für die Hilfe

Grüße Gerd
Angehängte Grafiken
Dateityp: png codierung.PNG (5,4 KB, 29x aufgerufen)
Gerd
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.930 Beiträge
 
Delphi 12 Athens
 
#2

AW: IDE Dateicodierung: was sollte man da einstellen

  Alt 2. Mai 2023, 20:07
Darum kümmert sich die IDE automatisch. Wenn du z.B. chinesische Schriftzeichen einfügst, kommt die Frage, ob du zu UTF-8 wechseln möchtest, weil diese nicht als Ansi Zeichen gespeichert werden können.

Unter Windows ist UTF-16 verbreitet, sprich 2 Byte pro Zeichen, während unter Linux UTF-8 üblich ist. Wenn du etwas einstellst, wird dies als Byte Order Mark am Anfang der Datei gespeichert, so dass das Encoding beim Öffnen entsprechend identifiziert werden kann.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: IDE Dateicodierung: was sollte man da einstellen

  Alt 2. Mai 2023, 21:34
Wenn man seinen Code teilt, oder z.B. bei Verwendung von sowas wie GitHub, muß sollte man leider auch besser immer auf UTF-8 umgestellt haben.

Denn ein Ä wäre ja nur im deutschen ein Ä, obwohl es sich bei uns auch ohne UTF-8 speichern lässt.


Außerdem ist der DiffViewer von Github saudämlich und nimmt alles ohne BOM als UTF-8 an, was die Anzeige des besagten Ä bissl doof aussehen lässt.
Linux halt ... im Windows war dagegen es vor allem früher Gang und Gebe, dass Dateien ohne BOM meistens ANSI sind, bzw. unter DOS noch OEM waren.



Ich bin mir grade nicht sicher, aber ich glaube seit Kurzem gab es im Delphi irgendwo eine Option, wo man die Standard-Codierung einstellen kann.
[ADD] Jo man. Tools > Optionen > Benutzeroberfläche > Editoroptionen > Standardkodierung
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 2. Mai 2023 um 21:41 Uhr)
  Mit Zitat antworten Zitat
ggscholz

Registriert seit: 20. Nov 2013
Ort: Aachen
82 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: IDE Dateicodierung: was sollte man da einstellen

  Alt 4. Mai 2023, 15:23
Danke für die Antworten, ganz schlau bin ich aber noch nicht.

Bei mir geht es aktuell um eine WIN 32 Anwendung, die mit GIT verwaltet wird. Da wäre jetzt laut himitsu UTF8 richtig, aber nicht ganz.

Was ist BOM?

Und jaenicke empfiehlt UTF-16

In dem Auswahlfenster gibt es UTF-8, UTF-16BE oder UTF-16LE

Ich würd's gerne nur richtig einstellen, ohne unbedingt in die Tiefen der Codierung und und seiner Klippen einzusteigen. In Asien werde ich definitiv nicht mit meinem Programm auftauchen.

Grüße Gerd
Gerd
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
902 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: IDE Dateicodierung: was sollte man da einstellen

  Alt 4. Mai 2023, 15:44
BOM ist das Byte-Order-Mark. Darüber wird festgelegt, in welcher Reihenfolge die Bytes für ein Zeichen in die Datei geschrieben werden, falls für die Codierung mehr als ein Byte benutzt wird. Der Unterschied zwischen UTF16LE und -BE liegt dann in der Reihenfolge, wie die (meistens) 2 Bytes geschrieben werden. Das BOM dafür ist iirc $FFFE bzw. $FEFF. Für UTF-8 $EF BB BF.

Mit UTF-8 macht man imho nichts verkehrt, auch unter Windows nicht.

im Windows war dagegen es vor allem früher Gang und Gebe, dass Dateien ohne BOM meistens ANSI sind, bzw. unter DOS noch OEM waren.
Nuja, in älteren Windows (d.h. XP, ggf. auch noch Windows 7) gab es da aber auch so komische Heuristiken, z.B. in Notepad. Wenn man damit eine neue Textdatei erstellt hat und "Blödsinn" reingeschrieben hat, dann sah man beim nächsten Öffnen nur 4 chinesische Zeichen. Die 16-Byte-ANSI-Datei wurden für UTF16 gehalten.
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: IDE Dateicodierung: was sollte man da einstellen

  Alt 4. Mai 2023, 16:34
Jupp, Delphi prüft inwischen wenn ohne BOM
und auch das "neue" Notepad (Editor) prüft inzwischen
aber ...

Auch haben die es repariert, dass wenn die Datei ohne BOM geladen wurde, sie auch wieder ohne BOM gespeichert wird (XE lädt auch UTF-8 ohne BOM problemlos, aber speichert es dann oft mit BOM ab)



Frag mal die Wiki
ByteOrderMark ... eine Markierung am Dateianfang, wie die nachfolgenden Bytes kodiert sind

Es gibt ANSI (ohne BOM)
UTF-8 ohne BOM
* im Linux Standard
* im Windows meisten Standard=ANSI
* * "einige" Programme prüfen, wenn kein BOM da ist, ob es sich als UTF-8 laden lässt (ja=UTF-8 und nein=ANSI)
* * andere laden es dann oft blind als ANSI (womit dann die Umlaute nicht mehr stimmen)
UTF-8 mit BOM
UCS2 bzw. UTF-16 mit BOM (einmal sorum oder die zwei Bytes jedes Chars in anderer Reihenfolge)




Bei UTF-8 mit BOM ist klar, dass es UTF-8 ist.
Ohne BOM, kommt es drauf an, ob und wie jedes Programm reagiert.

Im Gegenzug gibt es aber auch Programme, die wollen unbedingt UTF-8, aber ohne BOM.
Das BOM ist in Wirklichkeit ein Unicode-Zeichen #$FEFF.
Auch das $EF BB BF vom UTF-8 ist die utf8-codierte Darstellung dieses $FEFF.
Jene Programme würden dann als erstes das "Zeichen" $FEFF finden und wenn sie es nicht mögen, dann knallen sie gern. (z.B. die Linux-Version der PSQL.exe des PostgreSQL)




Im Prinzip mal Emba fragen, ob sie die neue Default-Einstellung dieser IDE-Option auf UTF-8 setzen, anstatt auf ANSI.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 4. Mai 2023 um 16:42 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:34 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