是否可以在核心数据持久存储中添加一些“幻数”数据?
我有一个使用自定义二进制文件格式的旧应用程序。每个文件都以一个 5 字节的幻数(比如说0A 0B 0C 0D 0E
)和一个 1 字节的格式版本标识符开始;之后是实际数据。当用户尝试打开文件时,应用程序的现有版本会执行以下检查:
- 如果文件的前 5 个字节与幻数不匹配,用户会收到一条消息,如“文件不是此应用程序可以读取的格式。它可能有错误的文件扩展名。”</li>
- 如果幻数匹配,但版本标识符高于应用程序可以读取的版本,用户会收到一条消息,如“该文件是使用此应用程序的较新版本创建的。您需要升级到新版本。”</li>
我想利用核心数据存储在新版本的应用程序中,同时仍然使用相同的文件扩展名并保持与旧版本应用程序的适当兼容性:尝试使用旧版本打开使用新版本应该得到他们应该升级的消息,而不是其他消息。这可能吗?如何?