Eu tenho um código onde exponho a arte ANSI, descobri que os últimos 128 bytes contêm metadados SAUCE .
O problema que tenho é que logo antes dos dados SAUCE há um caractere que parece fora do lugar,
que é o código ANSI 26, a tabela ASCII mostra isso como (substituto).
O que esse personagem deve fazer? Deveria fazer com que algo depois fosse ignorado?
Aqui está uma demonstração do meu Terminal JavaScript que exibe a arte ANSI (os comandos de trabalho são ls
e cat
).
Alguns dos arquivos ANSI listados têm esse caractere no final (nem todos eles têm dados SAUCE).
O caractere 26 é CtrlZ, o caractere substituto em ASCII, que é comumente usado como marcador de fim de arquivo em CP/M, DOS e descendentes. (CP/M não armazena tamanhos de arquivo exatos em bytes, apenas em blocos de 128 bytes, portanto, um marcador EOF explícito é útil; o DOS armazenou tamanhos de arquivo exatos, portanto não precisa de marcadores EOF.)
Muitas ferramentas desenvolvidas para esses sistemas operacionais param de processar arquivos quando encontram esse caractere. Assim, em uma tela DOS típica de 80×25, com
ANSI.SYS
ou equivalente,enviaria o arquivo para a tela, contando com
ANSI.SYS
a interpretação dos escapes ANSI e parando no marcador de final de arquivo, para que os registros SAUCE não apareçam na tela .