Personaggi invisibili in scena!

Tradotto automaticamente da Deepl

Le best practice nell’IT a volte cambiano e la gestione di alcuni caratteri invisibili nei file di testo ne è un esempio. I caratteri di fine riga (EOL) si sono evoluti, soprattutto per l’integrazione dei sistemi di controllo delle versioni. Allo stesso modo, il Byte Order Mark (BOM) sui file di testo Unicode è sempre meno utilizzato.

Con 4D v19 R2, 4D si è evoluto senza problemi per seguire queste best practice, offrendo una maggiore flessibilità.

RICORDA

Fine riga (EOL)

Le righe dei file di testo sono separate da caratteri di fine riga. In Windows, si tratta di una combinazione di due caratteri:

  • Ritorno a capo (#13, chiamato CR) e,
  • Line Feed (#10, chiamato LF).

Su macOS, è il carattere CR tradizionale.

I sistemi di controllo delle versioni come Git non gestiscono CR come carattere EOL, quindi è necessario usare LF al suo posto.

Segno di ordine del byte (BOM)

È noto anche che un file di testo Unicode può contenere byte di intestazione invisibili, denominati Byte Order Mark, che definiscono il set di caratteri utilizzato.

Quando 4D ha introdotto Unicode, ha seguito le migliori pratiche attuali, scrivendo i file di testo con un BOM per impostazione predefinita. Tuttavia, poiché UTF-8 è diventato quasi il formato standard dei file di testo, la BOM è sempre meno utilizzata.

Nuova convenzione 4D sui file di testo

D’ora in poi, seguendo le tendenze, 4D scrive i file di testo senza BOM. Inoltre, su macOS, 4D utilizza LF come carattere EOL. Questo è completamente automatico per tutti i file scritti da 4D, come 4DSettings, 4dm, 4DForm e così via.

Quando si aprono i file di una versione precedente di 4D, non si incontra alcun problema, anche se sono stati scritti in 4D v19 R2, perché queste versioni precedenti erano in grado di aprire i file senza BOM e utilizzando LF come carattere EOL.

Impostazioni di compatibilità

Volete seguire il comportamento di 4D? Sono disponibili nuove impostazioni di compatibilità che consentono a TEXT TO DOCUMENT e File.setText() di generare file senza distinta base e di utilizzare LF come carattere EOL su macOS quando mancano i parametri opzionali “charSet” e “breakMode”. Ciò è completamente automatico; non è necessario riscrivere il codice sorgente per beneficiare di questo nuovo comportamento.

NUOVI SET DI CARATTERI

Le nuove impostazioni di compatibilità si applicano ai comandi TEXT TO DOCUMENT e File.setText() quando sono usati senza i parametri opzionali “charSet” o “breakMode”.
Non sono state apportate modifiche al carattere EOL. È ancora possibile forzarlo utilizzando il parametro “breakMode”.

Allo stesso modo, si potrebbe voler definire con precisione se i file generati da TEXT TO DOCUMENT e File.setText() contengono o meno una distinta base. A tale scopo, definire un set di caratteri Unicode che termina con “-no-bom”, come “UTF-8-no-bom” o “UTF-16-no-bom”, per scrivere un file senza BOM. Per scrivere un file con una BOM, si possono ancora usare i set di caratteri esistenti senza il suffisso “-no-bom”, come “UTF-8” o “UTF-16”.

Avatar
- Product Owner -Damien Fuzeau è entrato a far parte del team 4D Product nel febbraio 2019. In qualità di Product Owner, si occupa di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo lavoro consiste anche nell'assicurarsi che le implementazioni delle funzionalità fornite soddisfino le esigenze dei clienti.Damien si è laureato all'Università di Nantes in ingegneria del software. Ha trascorso più di 23 anni nella sua precedente azienda, prima come sviluppatore (scoprendo 4D nel 1997), poi come responsabile dell'ingegneria e architetto software. Questa azienda è un partner OEM di 4D e ha distribuito software aziendali basati su 4D per migliaia di utenti, su centinaia di server. Damien è quindi abituato allo sviluppo e alla distribuzione di 4D in un contesto multilingue.