Personagens Invisíveis no Palco!

Tradução automática de Deepl

As melhores práticas em TI por vezes mudam, e a gestão de certos caracteres invisíveis em ficheiros de texto é um exemplo. Os caracteres de fim de linha (EOL) têm evoluído, especialmente para efeitos de integração de sistemas de controlo de versões. Da mesma forma, a Marca de Ordem de Byte (BOM) nos ficheiros de texto Unicode é cada vez menos utilizada.

Com 4D v19 R2, 4D evoluiu suavemente para seguir estas melhores práticas, dando-lhe mais flexibilidade ao longo do caminho.

LEMBRE-SE

Fim da linha (EOL)

Sabe que as linhas nos ficheiros de texto são separadas com caracteres de Fim de Linha. No Windows, é uma combinação de dois caracteres:

  • Carriage Return (#13, chamado CR) e,
  • Line Feed (#10, nomeado LF).

Em macOS, era a personagem CR herdada.

Sistemas de controlo de versões como Git não gerem CR como carácter EOL, pelo que é necessário utilizar LF em vez disso.

Marca de Ordem de Byte (BOM)

Sabe também que um ficheiro de texto Unicode pode conter bytes de cabeçalho invisíveis, chamados Byte Order Mark, que definem o conjunto de caracteres utilizados.

4D seguiu as melhores práticas actuais ao introduzir Unicode, ao escrever ficheiros de texto com uma lista técnica por defeito. Mas como o UTF-8 quase se tornou o formato de ficheiro de texto padrão, a lista técnica é cada vez menos utilizada.

NOVA convenção 4D SOBRE ARQUIVOS DE TEXTOS

A partir de agora, seguindo as tendências, 4D escreve ficheiros de texto sem uma lista técnica. E em macOS, 4D usa LF como personagem EOL. Isto é completamente automático para todos os ficheiros escritos por 4D, tais como 4DSettings, 4dm, 4DForm, e assim por diante.

Ao abrir ficheiros numa versão 4D anterior, não encontrará qualquer problema, mesmo que tenham sido escritos em 4D v19 R2, porque estas versões anteriores eram capazes de abrir ficheiros sem BOM e usando LF como caracter EOL.

Definições de compatibilidade

Quer seguir o comportamento do 4D? Estão disponíveis novas definições de compatibilidade que permitem TEXT TO DOCUMENT e File.setText() para gerar ficheiros sem lista técnica e utilizar LF como carácter EOL em macOS quando faltam os parâmetros opcionais “charSet” e “breakMode”. Isto é totalmente automático; não precisa de reescrever o seu código fonte para beneficiar deste novo comportamento.

NOVOS CONJUNTOS DE CARACTERES

As novas definições de compatibilidade aplicam-se aos comandos TEXT TO DOCUMENT e File.setText() quando são utilizados sem os parâmetros opcionais “charSet” ou “breakMode”.
Não foram feitas alterações para o carácter EOL. Ainda pode ser forçado a utilizar o parâmetro “breakMode”.

Da mesma forma, pode querer definir com precisão se os ficheiros gerados por TEXT TO DOCUMENT e File.setText() contém ou não uma lista técnica. Para o fazer, definir um conjunto de caracteres Unicode terminando com “-no-bom”, como “UTF-8-no-bom” ou “UTF-16-no-bom”, para escrever um ficheiro sem uma lista técnica. Para escrever um ficheiro com uma lista técnica, ainda pode utilizar os conjuntos de caracteres existentes sem o sufixo “-no-bom”, como “UTF-8” ou “UTF-16”.

Avatar
• Proprietário do produto - Damien Fuzeau entrou ao time 4D Product em fevereiro de 2019. Como Proprietário do Produto, está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Damien é formado em engenharia de software pela Universidade de Nantes. Trabalhou mais de 23 anos em sua empresa anterior, primeiro como desenvolvedor (descobrindo 4D em 1997), e mais tarde como gerente de engenharia e arquiteto de software. Essa empresa é um Partner OEM de 4D e lançou softwares empresariais baseados em 4D para milhares de usuários em centenas de servidores. Portanto Damien está acostumado ao desenvolvimento e lançamento de 4D em contextos multilinguais.