.net 序列化数据

.net 序列化数据,.net,serialization,.net,Serialization,如何将字符数组序列化到文件中?我这么做的全部原因是,你不能仅仅打开文件并编辑数据,但我要告诉你的是另一个原因。我创建了一个字符数组,并将arr[0]设置为“a”,将arr[1]设置为“b”,将arr[2]设置为“c”。然后,我使用.NET序列化数组。我运行它,打开文件,它读到: 如上所述,我不希望有人只是打开文件和编辑数据,但这清楚地表明这是可能的 代码: 我该如何解决这个问题?谢谢。您不是在问序列化问题。您询问的是模糊化/分割/更高级的解决方案 如果要使用.NET中的内置序列化类,则必须实现

如何将字符数组序列化到文件中?我这么做的全部原因是,你不能仅仅打开文件并编辑数据,但我要告诉你的是另一个原因。我创建了一个字符数组,并将
arr[0]
设置为“a”,将
arr[1]
设置为“b”,将
arr[2]
设置为“c”。然后,我使用.NET序列化数组。我运行它,打开文件,它读到:

如上所述,我不希望有人只是打开文件和编辑数据,但这清楚地表明这是可能的

代码:


我该如何解决这个问题?谢谢。

您不是在问序列化问题。您询问的是模糊化/分割/更高级的解决方案

如果要使用.NET中的内置序列化类,则必须实现自己的(XML)编写器/读取器-在此函数中实现所选的模糊例程,并确保其1:1


但这当然不是“安全的”,只是将穿甲弹延迟一段时间。

如果不希望字符可识别,则必须以某种方式对数据进行编码。请原谅我的傲慢,但我希望数据以字节形式存储,以便文件大小较小。我知道一个ANSCII字符是一个字节,但是对它进行编码或混淆它或其他什么都不是ANSCII字符。我想我要问的是,你能有一个常规文件和一个编码文件,具有相同的信息,大小相同吗?也许我应该开始一个新问题,但它似乎很简单。添加到文件大小。例如,字节1或字节2仍然是一个字节大。
arr[0] = 'a';
arr[1] = 'b';
arr[2] = 'c';

FileStream stream = new FileStream(Application.dataPath+"/testing.wld", FileMode.Create);
BinaryFormatter bFormatter = new BinaryFormatter();

bFormatter.Serialize(stream, arr);
stream.Close();