0
我正在實施一個算法,該算法將文件拆分爲股份,並且擁有股份數量。如果文件大小有一個餘數(在模數和共享數之後),我用零填充它。現在,我試圖用字符串來做到這一點,當我需要重新組合它們時,我得到了額外的填充。這與文件是一樣的嗎?或者填充零不會改變文件內容?是否填充文件更改其內容?
如果它確實發生了變化,有什麼辦法知道哪些零是填充零?
thanx!
我正在實施一個算法,該算法將文件拆分爲股份,並且擁有股份數量。如果文件大小有一個餘數(在模數和共享數之後),我用零填充它。現在,我試圖用字符串來做到這一點,當我需要重新組合它們時,我得到了額外的填充。這與文件是一樣的嗎?或者填充零不會改變文件內容?是否填充文件更改其內容?
如果它確實發生了變化,有什麼辦法知道哪些零是填充零?
thanx!
是的,向文件添加任何內容都會更改其內容。在某些情況下,這可能並不重要,但對於通用解決方案,您絕不應該依賴這一點。
在你的特殊情況下填充文件是一個壞主意。
如果您有一個固定的塊大小,每個文件部分都必須適合,那麼可以用字節填充文件部分,以指示添加了多少個字節。例如,如果您將七個字節添加爲填充,則每個填充字節應爲0x07。當你以後重新組合時,你的程序首先必須去除填充。在給出的示例中,它將讀取該部分的最後一個字節,即0x07,並且得出結論,必須從文件的末尾去除七個字節。
有兩個問題的方法:
如果你只是爲了好玩,你可以看看你可以在BSD或GNU/Linux上找到的split
程序的源代碼。提示:不需要填充。
零是內容,就像一個,兩個,三個等等。將零添加到文件將會改變其內容。 – NealB 2012-04-05 14:45:46
重新發明車輪? – 2012-04-05 14:47:16