我有显示 ANSI 艺术的代码,我发现最后 128 个字节包含SAUCE元数据。
我遇到的问题是在 SAUCE 数据之前有一个字符看起来不合适,
即 ANSI 代码 26,ASCII 表将其显示为(替代)。
这个角色应该怎么做?它是否应该导致它被忽略之后的任何事情?
这是我的 JavaScript 终端的演示,它显示了 ANSI 艺术(工作命令是ls
和cat
)。
列出的一些 ANSI 文件末尾有这个字符(并非所有文件都有 SAUCE 数据)。
我有显示 ANSI 艺术的代码,我发现最后 128 个字节包含SAUCE元数据。
我遇到的问题是在 SAUCE 数据之前有一个字符看起来不合适,
即 ANSI 代码 26,ASCII 表将其显示为(替代)。
这个角色应该怎么做?它是否应该导致它被忽略之后的任何事情?
这是我的 JavaScript 终端的演示,它显示了 ANSI 艺术(工作命令是ls
和cat
)。
列出的一些 ANSI 文件末尾有这个字符(并非所有文件都有 SAUCE 数据)。
字符 26 是ASCIICtrlZ中的替代字符,在 CP/M、DOS 和后代中通常用作文件结束标记。(CP/M 不以字节为单位存储确切的文件大小,仅以 128 字节块为单位,因此明确的 EOF 标记在那里很有用;DOS 确实存储了确切的文件大小,因此它不需要 EOF 标记。)
为这些操作系统开发的许多工具会在遇到此字符时停止处理文件。所以在一个典型的 80×25 DOS 屏幕上,使用
ANSI.SYS
或等效,会将文件输出到屏幕,依靠
ANSI.SYS
解释 ANSI 转义,并在文件结束标记处停止,因此SAUCE 记录不会出现在屏幕上。