什麼是使用BinaryWriter將信息編碼爲二進制文件的方式。沒有人能夠看到這些信息。將文件和字符串編碼爲二進制文件C#
我正在創建的需要能夠加載二進制文件(&使用BinaryReader讀取它)並解釋數據。
因此,例如,我有一組指令,像
op1
op2 variable
op3
op4 string "Hello World"
我怎樣才能把那個和其他文件轉換成二進制文件,而無需任何人看到的數據。
什麼是使用BinaryWriter將信息編碼爲二進制文件的方式。沒有人能夠看到這些信息。將文件和字符串編碼爲二進制文件C#
我正在創建的需要能夠加載二進制文件(&使用BinaryReader讀取它)並解釋數據。
因此,例如,我有一組指令,像
op1
op2 variable
op3
op4 string "Hello World"
我怎樣才能把那個和其他文件轉換成二進制文件,而無需任何人看到的數據。
取決於您需要它的安全程度。
我使用拉鍊流只是爲了波落古玩旁觀者....
編輯:用於XML的文件
public void save(String filename)
{
XmlSerializer s = new XmlSerializer(this.GetType());
MemoryStream w = new MemoryStream(4096);
TextWriter textWriter = new StreamWriter(w);
s.Serialize(textWriter, this);
FileStream f = new FileStream(filename, FileMode.CreateNew);
DeflateStream zipStream = new DeflateStream(f, CompressionMode.Compress);
byte[] buffer = w.GetBuffer();
zipStream.Write(buffer, 0, buffer.Length);
zipStream.Close();
textWriter.Close();
w.Close();
f.Close();
}
HTH
馬里奧
按照我希望的方式工作:D謝謝 – Steven
歡迎您! –
使用序列化(BinaryFormatter
類),您的數據不會是人類可讀的(儘管它不是很強的保護級別);或使用加密(CryptoStream
類)。
您將需要執行幾個步驟。首先,保存二進制文件,這聽起來像你有處理。文件寫入磁盤後,您需要對其進行加密。檢查answer to this question的說明。打開文件時,您會先解密它,然後使用BinaryReader填充您的應用程序狀態。
你可能想看看字符串加密和解密:http://stackoverflow.com/questions/202011/encrypt-decrypt-string-in-net。 –
你的目標是保持數據的祕密嗎?如果是這樣,那麼你需要加密它。二進制只是一種旨在快速高效地加載/保存對象的格式,但它不會保護數據,因爲任何人都可以創建讀取數據的工具。如果你需要保密數據,那麼你也需要加密。 – AaronLS
你的問題不清楚。通過'編碼'文件來達到什麼目的?你需要存儲什麼樣的信息?你是否希望隱藏文件,或者你不希望文件以純文本的形式被讀取?你如何解釋數據?你是否存儲你想要執行的代碼? –