我希望这个标题没有误导性;我遇到的部分问题是我不知道如何提出正确的问题。总之:
我有一个程序,它将其状态保存到一个文件中,然后稍后加载。只是一些基本的东西,整数,二重,也许还有一个字符串。到目前为止,我一直在使用.txt文件,但我想换一种格式。我知道我可以用我想要的任何扩展名(.sav.dat.map等)进行保存,但在记事本中打开它只会得到预期的文本信息,这意味着用户可以随心所欲。
我想做的是把我保存的数据转换成二进制或比特码,或者任何它的名字,所以记事本(或任何其他文本编辑器)只会发出随机字符,比如:-†Wk]s9µî,'k^û。
我想在把我的角色写出来之前先旋转一下,但这似乎不会像我想的那样把它弄得一团糟。
正如你可能已经知道的,我真的不知道我试图在这里实现的概念的正确名称。抱歉,如果这一切看起来有点乱。
如果您正在寻找一种快速的方法来混淆您保存的数据,您可以考虑Base64编码。以下是一些处理此算法的代码。
请注意,Base64编码对于存储密码、信用卡号码和电子邮件等敏感信息来说不够安全。然而,对于以模糊的方式存储一些程序设置,以便最终用户不会弄乱它,这应该就足够了。
您可以考虑以二进制模式写入设置数据(将mode
作为b
传递给fopen
函数,或者将ios::binary
标志与fstream
对象一起使用)。