Estou escrevendo um script que reforça a formatação do arquivo. Uma das coisas que ele faz é garantir que todos os arquivos de texto terminem com caracteres de nova linha.
Uma área da qual não tenho certeza é com .hdr
arquivos. São imagens, o file
comando do Linux diz que são Radiance HDR image data
, mas podem ser abertas com um editor de texto e o script as interpreta como arquivos de texto. Dessa forma, o script anexa automaticamente novas linhas a esses arquivos.
Isto é uma coisa boa? Como esse tipo de arquivo é usado? Existe algum caso de uso para que esses arquivos de imagem sejam lidos como texto? Existe alguma desvantagem em fazer esses arquivos terminarem com caracteres de nova linha? Devo adicionar uma exceção ao meu script para excluir hdr
arquivos?
Não. Mas provavelmente não é ruim também. Sobre o formato [grifo meu]:
( fonte )
Baixei um
.hdr
arquivo (nancy_church_1.hdr
) deste site . Adicionei uma nova linha a uma cópia e até anexei outro arquivo. Testei comluminance-hdr
o , a ferramenta não reclamou.Eu não estou surpreso. A resolução é conhecida; de acordo com esta descrição , há quatro bytes por pixel e, mesmo que haja codificação run-length (rle) envolvida, ainda é fácil saber quando parar de interpretar os dados binários do pixel. E não há rodapé que possamos quebrar.
Ainda outras ferramentas podem ou não reclamar.
Mesmo que seja inofensivo, adicionar um caractere de nova linha a um
.hdr
arquivo não serve para nada. Pode-se querer adicionar novas linhas ausentes para satisfazer um dos requisitos POSIX em relação a arquivos de texto , mas.hdr
os arquivos são projetados e não arquivos de texto em primeiro lugar. Não há nada para consertar.Respostas às perguntas explícitas:
Pergunta um tanto complicada por causa da semântica. Não, eles não devem terminar com caracteres interpretados como novas linhas. Eles podem terminar com
0x0a
bytes embora. Como parte do pixel binário, os dados0x0a
não devem ser interpretados como nova linha.Como gráficos.
Você pode ler o cabeçalho e a linha que descreve a resolução e a ordem dos pixels. Você não deve tentar ler o arquivo inteiro como texto.
Há uma chance de os arquivos ocuparem mais blocos no sistema de arquivos. Além disso, é difícil dizer, algumas ferramentas podem reclamar. Não há benefícios, então você só pode piorar ou igualar as coisas.
Eu acho que você deveria. Eu poderia. E eu prefiro confiar no
file
comando, não na extensão.