【发布时间】:2013-05-23 10:04:42
【问题描述】:
我有一个 base 64 字符串。我想写的是数组字节到二进制文件(.dat)
我使用以下代码来做到这一点。请参考。
string s = "do+BmqbI81d3XT85OGtX965DkWqSg0Iqy47VSPNMrkH9TBR9XMg8jn4xI8VCZBxXrI6h17nWAdeRzZicQVHCibIFBiTPA7YM0pvYQwrk3npyxJ8GuFMYbFiIXlrvgg3S7LqCZ1Wy0LPmhc51qMQ2QZDwGDqTV/fdYFVuCoYj3Mw=";
byte[] b = Encoding.UTF8.GetBytes(s);
File.WriteAllBytes(@"D:\\newbin2.dat", b);
但我没有得到预期的结果。二进制文件不应该是人类可读的。我尝试用notepad++打开,即使我把它写成字节,我也能看到相同的文本。
哪里出错了?
【问题讨论】:
-
“人类可读”是主观的;二进制就是二进制。如果它碰巧包含看起来很像文本的东西,那不是二进制文件的错。如果你需要安全,你应该加密它。在您的 UTF-8 示例中,它如此非常可读的原因是您基本上将 base-64 保存为字符串,而不是存储底层二进制文件。
标签: c# .net bytearray binaryfiles