编写ByteArray以在C#中记录AS字节

时间:2016-06-18 13:03:15

标签: c# file io byte ascii

我的目标是将字符串转换为ByteArray,将此ByteArray AS作为ByteArray写入字符串,这样它就不可读但在C#中“ByteArray to String”转换时仍然可以读取。

这就是我现在的代码:

string json = "{\"database\":{\"tables\":{\"Users\":[\"column\":{\"id\":\"1\", \"name\":\"Test\"}]}}}";

var bytes = Encoding.ASCII.GetBytes(json);

File.WriteAllBytes("database.dat", bytes);

这在理论上有效,但最终输出文件具有相同的字符串内容,而不是转换后的ByteArray。这是文件包含的内容:

database.dat

  

{“database”:{“tables”:{“Users”:[“column”:{“id”:“1”,“name”:“Test”}]}}}

但我期待像

这样的东西
  

L4 @ C_} NC(YXX>AI0ve,22úL«*“ÑÃYgPæaiäi   “E¢±·Ä¿|!^Û×RE×¹ÝYPZŠO•QÚÉèT“g'Ѳ¬¡\g²Ô

我做错了什么?这不是ByteArray吗?是否有另一种方法将数据转换为不可读的文件,然后能够将其转换回我的程序中的字符串?

1 个答案:

答案 0 :(得分:2)

  

我做错了什么?这不是ByteArray吗?还有另一种方式吗?   将数据转换为不可读的文件,然后能够转换它   回到我的程序中的字符串?

取决于你想要多少不可读的东西?在最极端的情况下,您可能需要使用加密。

在您的情况下,您将字符串的ASCII表示存储到文件中,因此文本编辑器当然可以将其读回给您。

一种方法是尝试将您获得的字节数组转换为base64编码的字符串 - 并将该字符串存储在文件中。这样它就不会轻易读取,但是,如果他/她尝试,其他人仍然可以解码它。所以提供的安全保障不是那么多。但同样,取决于您的需求。