我有显示 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 标记。)
许多为这些操作系统开发的工具在遇到此字符时将停止处理文件。因此,在典型的 80×25 DOS 屏幕上,具有ANSI.SYS
或等效的,
TYPE yourfile.ans
会将文件输出到屏幕,依赖于ANSI.SYS
解释 ANSI 转义符,并在文件结尾标记处停止,因此SAUCE 记录没有出现在屏幕上。