파일 형식을 적용하는 스크립트를 작성 중입니다. 그것이 하는 일 중 하나는 모든 텍스트 파일이 개행 문자로 끝나는 것을 보장하는 것입니다.
내가 확신할 수 없는 영역 중 하나는 .hdr
파일에 관한 것입니다. Linux file
명령에서는 이미지라고 표시 Radiance HDR image data
하지만 텍스트 편집기로 열 수 있으며 스크립트는 이를 텍스트 파일로 해석합니다. 따라서 스크립트는 이러한 파일에 자동으로 줄바꿈을 추가합니다.
이게 좋은 일인가요? 이 파일 형식은 어떻게 사용됩니까? 이러한 이미지 파일을 텍스트로 읽을 수 있는 사용 사례가 있습니까? 이러한 파일을 개행 문자로 끝내면 단점이 있습니까? 파일을 제외하려면 스크립트에 예외를 추가해야 합니까 hdr
?
답변1
스크립트는 이러한 [
.hdr
] 파일에 자동으로 줄바꿈을 추가합니다. 이게 좋은 일인가요?
아니요. 하지만 그것도 나쁘지 않을 것 같습니다. 형식에 관하여 [강조 광산]:
파일은 서명으로 시작
#?RADIANCE
하고 이미지를 생성하는 데 사용되는 명령을 나열하는 여러 줄입니다. [...]key=value
라인을 포함한 선언 도 있습니다FORMAT=32-bit_rle_rgbe
.그 다음에는 헤더의 끝을 나타내는 빈 줄이 있습니다. 한 줄은 해상도와 픽셀 순서를 나타냅니다. Radiance 도구에 의해 생성된 이 값은 항상
-Y height +X width
. 이 줄 다음에바이너리 픽셀 데이터.
(원천)
.hdr
다음에서 파일( nancy_church_1.hdr
) 을 다운로드했습니다.이 장소. 복사본에 개행 문자를 추가하고 다른 파일을 추가하기도 했습니다. 으로 테스트했는데 luminance-hdr
도구가 불평하지 않았습니다.
나는 놀라지 않았다. 해상도는 알려져 있습니다. ~에 따르면이 설명픽셀당 4바이트가 있으며 실행 길이 인코딩(rle)이 관련되어 있더라도 이진 픽셀 데이터 해석을 중단해야 하는 시점을 쉽게 알 수 있습니다. 그리고 우리가 깨뜨릴 수 있는 바닥글도 없습니다.
또 다른 도구는 불평할 수도 있고 그렇지 않을 수도 있습니다.
해롭지 않더라도 파일에 개행 문자를 추가하는 것은 .hdr
아무 소용이 없습니다. 다음 중 하나를 만족시키기 위해 누락된 개행 문자를 추가할 수 있습니다.텍스트 파일에 관한 POSIX 요구 사항, 그러나 .hdr
파일은 애초에 텍스트 파일이 아닌 설계상입니다. 고칠 것이 없습니다.
명시적인 질문에 대한 답변:
파일 확장자를 가진 파일은
hdr
개행 문자로 끝나야 합니까?
의미론 때문에 다소 까다로운 질문입니다. 아니요, 줄바꿈으로 해석되는 문자로 끝나서는 안 됩니다. 하지만 바이트 로 끝날 수도 있습니다 0x0a
. 바이너리 픽셀 데이터의 일부로서 0x0a
개행으로 해석되어서는 안 됩니다.
이 파일 형식은 어떻게 사용됩니까?
그래픽으로.
이러한 이미지 파일을 텍스트로 읽을 수 있는 사용 사례가 있습니까?
해상도와 픽셀 순서를 설명하는 헤더와 줄을 읽을 수 있습니다. 당신은 그 글을 읽으려고 해서는 안 된다.전체파일을 텍스트로 저장하세요.
이러한 파일을 개행 문자로 끝내면 단점이 있습니까?
파일이 파일 시스템에서 더 많은 블록을 차지할 가능성이 있습니다. 이 외에도 말하기 어려운 일부 도구가 불평할 수 있습니다. 이점이 없으므로 상황을 악화시키거나 동등하게 만들 수만 있습니다.
파일을 제외하려면 스크립트에 예외를 추가해야 합니까
.hdr
?
내 생각엔 당신이 해야 할 것 같아요. 나는 그럴 것이다. 그리고 나는 file
확장보다는 명령 에 의존하고 싶습니다 .