我正在努力实现一个将文件拆分为共享的算法,并且我有共享的数量。如果文件大小有余数(在模数与股数之后),我用零填充它。现在,我试图用字符串做这个,当我需要重新组合它时,我得到额外的填充。和文件一样吗?或者填充零可能不会改变文件内容?
如果确实发生了变化,有没有办法知道哪些零是填充零?
感谢名单!
答案 0 :(得分:0)
是的,向文件添加任何内容都会更改其内容。在某些情况下,这可能并不重要,但对于通用解决方案,您永远不应该依赖它。
在您的特定情况下,填充文件是一个坏主意。
如果你有一个固定的块大小,每个文件部分都必须适合,那么就可以填充一个带有字节的文件部分,这些字节表示已经添加了多少字节。例如,如果添加了7个字节作为填充,则每个填充字节应为0x07。当您稍后重新组合这些部件时,您的程序首先必须剥离填充。在给定的示例中,它将读取部件的最后一个字节,即0x07,并得出结论,必须从文件末尾删除七个字节。
这种方法存在两个问题:
如果你这样做只是为了好玩,你可以看一下你可以在BSD或GNU / Linux上找到的split
程序的源代码。提示:不需要填充。