如何在 C# 中将文本文件编码和解码为二进制文件?

How to encode and decode a text file to binary in c#?

对于我的 Unity 游戏,我想使用文本文件保存玩家数据。文本文件很容易修改,其中的数据也很容易修改。所以,我想将文本文件转换为 0 和 1。这样当您打开它时,您应该看到 0101011 而不是可读和可编辑的数据。我知道我可以使用 Read Bytes of File 并用该数据替换文件中的文本,但是我究竟该如何再次将其变成数据呢?我需要帮助。

Text files can be easily modified and so can the data in them be modified.

这是个问题吗?游戏本来就是为了好玩,那么为什么要阻止用户按照自己的意愿玩游戏呢?如果是竞争性多人游戏,或涉及实际金钱的任何类型的游戏,您不应依赖客户端上的 任何 数据。

So, I would like to convert the text files to 0's and 1's. So that when you open it you should see 0101011 instead of readable and editable data

请不要这样做,它只会降低性能而没有任何好处。如果您不想对数据进行微不足道的修改,只需使用二进制序列化格式即可。或者使用 Unity 提供的存储选项。使用二进制序列化可能会更快并生成更小的文件,但代价是使修改更加困难。但你似乎并不关心最后一点。

将对象转换为序列化数据并再次转换回序列化数据是一种常见的操作,并且有很多适合它的库。 Json 对于文本数据很常见,我使用 Protobuf .net 处理二进制数据,发现它非常快速且易于使用。