ANSI 아트를 표시하는 코드가 있는데 마지막 128바이트가 저장되어 있는 것을 발견했습니다.소스메타데이터.
제가 겪고 있는 문제는 SAUCE 데이터 앞에 이상한 문자가 있다는 것입니다.
그것은 ANSI 코드 26입니다.ASCII 테이블(대체)로 표시합니다.
이 캐릭터는 어떻게 해야 할까요? 무시된 후에 어떤 일이 발생해야 합니까?
이것은내 JavaScript 터미널 데모ANSI 아트를 표시합니다(작업 명령은 ls
및 입니다 cat
).
나열된 일부 ANSI 파일의 끝에는 이 문자가 있습니다(모든 파일에 SAUCE 데이터가 있는 것은 아닙니다).
답변1
문자 26은 CtrlZ,대체 문자ASCII로 표현되며 일반적으로 다음과 같이 사용됩니다.파일 끝 표시CP/M, DOS 및 그 자손에서. (CP/M은 정확한 파일 크기를 바이트 단위로 저장하지 않고 128바이트 블록에만 저장하므로 명시적인 EOF 마커가 유용합니다. DOS는 정확한 파일 크기를 저장하므로 EOF 마커가 필요하지 않습니다.)
이러한 운영 체제용으로 개발된 많은 도구는 이 문자가 발견되면 파일 처리를 중지합니다. ANSI.SYS
따라서 일반적인 80×25 DOS 화면에서는
TYPE yourfile.ans
ANSI.SYS
ANSI 이스케이프 해석에 의존하고 파일 끝 표시에서 중지하여 파일을 화면에 출력합니다 .SAUCE 기록이 화면에 나타나지 않습니다.