我可以安全地将空字节附加到 PNG 图像吗

Can I safely append null bytes to a PNG image

我想将空字节附加到 PNG 文件以匹配以前的大小。我已成功将 10 MB 添加到小图像,并且查看图像没有问题。我想知道这是否基于 PNG 格式的定义是安全的,或者我是否只是幸运地从软件中进行了良好的纠错。

更新:我删除了为什么要这样做。

附加 NULL 是否安全取决于解码应用程序和库。如果您想绝对安全,请插入一个包含 NULL 的私有块。请注意,此方法将始终向文件添加至少 12 个字节(4 字节长度、4 字节块名称、零个或多个 NULL 字节以及一个 4 字节 CRC),格式为

nnnnzpAD000000CRCN

哪里

nnnn = number of NULLs
zpAD = chunk name
0000000...  the NULLs
CRCN = 4-byte CRC calculated over the chunk name and the NULLs

将这个新的 "zpAD" 块(或任何你决定称呼它的东西)放在现有 IEND 块的前面。