Personajes invisibles en el escenario

Traducido automáticamente de Deepl

Las mejores prácticas en TI a veces cambian, y la gestión de ciertos caracteres invisibles en los archivos de texto es un ejemplo. Los caracteres de fin de línea (EOL) han evolucionado, sobre todo para la integración de sistemas de control de versiones. Del mismo modo, la marca de orden de bytes (BOM) en los archivos de texto Unicode se utiliza cada vez menos.

Con 4D v19 R2, 4D ha evolucionado sin problemas para seguir estas mejores prácticas, dándole más flexibilidad en el camino.

RECORDATORIO

Fin de línea (EOL)

Usted sabe que las líneas en los archivos de texto se separan con caracteres de fin de línea. En Windows, es una combinación de dos caracteres

  • Retorno de carro (#13, llamado CR) y,
  • el salto de línea (#10, llamado LF).

En macOS, es el carácter CR heredado.

Los sistemas de control de versiones como Git no manejan CR como carácter EOL, por lo que es necesario utilizar LF en su lugar.

Marca de orden de bytes (BOM)

También sabe que un archivo de texto Unicode puede contener bytes de encabezamiento invisibles, llamados Byte Order Mark, que definen el conjunto de caracteres utilizado.

4D siguió las mejores prácticas actuales al introducir Unicode, escribiendo archivos de texto con una BOM por defecto. Pero como UTF-8 se ha convertido casi en el formato de archivo de texto estándar, la BOM se utiliza cada vez menos.

NUEVA convención de 4D sobre archivos de texto

A partir de ahora, siguiendo las tendencias, 4D escribe los archivos de texto sin una lista de materiales. Y en macOS, 4D utiliza LF como carácter EOL. Esto es completamente automático para todos los archivos escritos por 4D, como 4DSettings, 4dm, 4DForm, etc.

Al abrir archivos en una versión anterior de 4D, no encontrará ningún problema, incluso si fueron escritos en 4D v19 R2, porque estas versiones anteriores fueron capaces de abrir archivos sin BOM y usando LF como carácter EOL.

Ajustes de compatibilidad

¿Quiere seguir el comportamiento de 4D? Existen nuevos ajustes de compatibilidad que permiten TEXT TO DOCUMENT y File.setText() generar archivos sin lista de materiales y utilizar LF como carácter EOL en macOS cuando los parámetros opcionales «charSet» y «breakMode» faltan. Esto es totalmente automático; no es necesario reescribir el código fuente para beneficiarse de este nuevo comportamiento.

NUEVOS JUEGOS DE CARACTERES

Los nuevos ajustes de compatibilidad se aplican a los comandos TEXT TO DOCUMENT y File.setText() cuando se utilizan sin los parámetros opcionales «charSet» o «breakMode».
No se han realizado cambios para el carácter EOL. Todavía se puede forzar utilizando el parámetro «breakMode».

De la misma manera, se puede definir con precisión si los archivos generados por TEXT TO DOCUMENT y File.setText() contienen una lista de materiales o no. Para ello, defina un conjunto de caracteres Unicode que termine con «-no-bom», como «UTF-8-no-bom» o «UTF-16-no-bom», para escribir un archivo sin BOM. Para escribir un archivo con una lista de materiales, puede seguir utilizando los conjuntos de caracteres existentes sin el sufijo «-no-bom», como «UTF-8» o «UTF-16».

Avatar
• Propietario de producto - Damien Fuzeau se ha unido al equipo de 4D Product en febrero de 2019. Como Propietario de producto, está a cargo de escribir historias de usuario, y luego traducirlas a especificaciones funcionales. Su trabajo también implica asegurarse de que las implementaciones de funcionalidades entregadas estén cumpliendo con las necesidades del cliente. Damien es licenciado en ingeniería de software por la Universidad de Nantes. Estuvo más de 23 años en su anterior empresa, primero como desarrollador (descubriendo 4D en 1997), y más tarde como gerente de ingeniería y arquitecto de software. Esta compañía es un Partner OEM de 4D y ha desplegado softwares empresariales basados en 4D para miles de usuarios, en cientos de servidores. Por lo tanto, Damien está acostumbrado al desarrollo y despliegue de 4D en un contexto multilingüe.