Neviditelné postavy na jevišti!

Automaticky přeloženo z Deepl

Osvědčené postupy v IT se občas mění a správa určitých neviditelných znaků v textových souborech je jedním z příkladů. Znaky konce řádku (EOL) se vyvíjely zejména pro účely integrace systémů pro správu verzí. Stejně tak se stále méně používá značka pořadí bajtů (Byte Order Mark, BOM) v textových souborech Unicode.

Ve verzi 4D v19 R2 se systém 4D plynule vyvíjí tak, aby tyto osvědčené postupy dodržoval, a poskytuje vám tak větší flexibilitu na této cestě.

PŘIPOMÍNKA

Konec řádku (EOL)

Víte, že řádky v textových souborech se oddělují znakem (znaky) konce řádku. V systému Windows je to kombinace dvou znaků:

  • Carriage Return (#13, pojmenovaný CR) a,
  • Line Feed (#10, pojmenovaný LF).

V systému MacOS to byl starší znak CR.

Systémy pro správu verzí, jako je Git, nezvládají CR jako znak EOL, takže je potřeba místo něj používat LF.

Značka pořadí bajtů (BOM)

Víte také, že textový soubor Unicode může obsahovat neviditelné hlavičkové bajty, pojmenované Byte Order Mark, které definují použitou znakovou sadu.

Společnost 4D se při zavádění Unicode řídila současnými osvědčenými postupy a ve výchozím nastavení zapisovala textové soubory s BOM. Protože se však UTF-8 stal téměř standardním formátem textových souborů, BOM se používá stále méně.

NOVÁ konvence 4D PRO TEXTOVÉ SOUBORY

Od nynějška bude 4D v souladu s trendy zapisovat textové soubory bez BOM. A v systému macOS používá 4D jako znak EOL znak LF. To je zcela automatické pro všechny soubory zapisované programem 4D, například 4DSettings, 4dm, 4DForm atd.

Při otevírání souborů v předchozí verzi 4D se nesetkáte s žádným problémem, i když byly napsány v 4D v19 R2, protože tyto předchozí verze dokázaly otevírat soubory bez BOM a s použitím LF jako znaku EOL.

Nastavení kompatibility

Chcete se řídit chováním 4D? K dispozici jsou nová nastavení kompatibility, která umožňují TEXT TO DOCUMENT a File.setText() generovat soubory bez BOM a používat LF jako EOL znak v systému MacOS, pokud chybí volitelné parametry „charSet“ a „breakMode“. Toto nastavení je plně automatické; nemusíte přepisovat svůj zdrojový kód, abyste mohli využít výhod tohoto nového chování.

NOVÉ ZNAKOVÉ SADY

Nové nastavení kompatibility se vztahuje na příkazy TEXT TO DOCUMENT a File.setText(), pokud jsou použity bez volitelných parametrů „charSet“ nebo „breakMode“.
Pro znak EOL nebyly provedeny žádné změny. Stále jej lze vynutit pomocí parametru „breakMode“.

Stejným způsobem můžete chtít přesně definovat, zda se soubory generované příkazem TEXT TO DOCUMENT a File.setText() obsahují BOM, nebo ne. Za tímto účelem definujte znakovou sadu Unicode zakončenou příkazem „-no-bom“, například „UTF-8-no-bom“ nebo „UTF-16-no-bom“, pro zápis souboru bez BOM. Pro zápis souboru s BOM můžete stále používat existující znakové sady bez koncovky „-no-bom“, například „UTF-8“ nebo „UTF-16“.

Avatar
• Product Owner • Damien Fuzeau se připojil k týmu 4D Product v únoru 2019. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich následný převod do funkčních specifikací. Jeho úkolem je také zajistit, aby dodávané implementace funkcí vyhovovaly potřebám zákazníků. Damien vystudoval softwarové inženýrství na University of Nantes. Ve své bývalé společnosti strávil více než 23 let, nejprve jako vývojář (objevil 4D v roce 1997) a později jako technický manažer a softwarový architekt. Tato společnost je partnerem 4D OEM a nasadila obchodní software založený na 4D pro tisíce uživatelů na stovkách serverů. Damien je tedy zvyklý na 4D vývoj a nasazení ve vícejazyčném kontextu.