Skip to main content
 首页 » 编程设计

python之在文件末尾添加或删除空字节是否安全

2025年05月04日43lexus

从文件末尾删除尾随零或空字节是否总是安全?我担心这可能会损坏使用 UTF-16 编码或其他原因的文件。

此外,将尾随零字节添加到文件末尾总是安全吗?

作为使用 Python 的示例,我将通过从文件末尾剥离单个字节直到删除所有零字节来执行此操作:

with open('in.ext', 'rb') as file_in: 
    with open('out.ext', 'wb') as file_out: 
        data = file_in.read() 
        while data.endswith('\x00'): 
            data = data[:-1] 
        file_out.write(data) 

这是为了在可移植存储介质上存储和检索任意文件。我希望用零字节填充半写入字节 block (一个 block 包含 16 个字节),然后在读回数据时简单地剥离字节。

请您参考如下方法:

这实际上取决于之后将使用此文件的内容。一些软件可能需要在末尾找到那些空字节,例如,如果有用于填充。

在 UTF-16 的情况下,字节数应该是偶数,所以你应该成对管理它们(寻找\x00\x00 而不是只是\x00)。