gpt4 book ai didi

c# - 在二进制文件中间插入字节

转载 作者:可可西里 更新时间:2023-11-01 08:45:16 30 4
gpt4 key购买 nike

我想在图像元数据 block 的中间添加一些字符串。在一些特定的标记下。我必须在字节级别上执行此操作,因为 .NET 不支持自定义元数据字段。

该 block 的构建类似于 1C 02 XX YY YY ZZ ZZ ZZ ... 其中 XX 是我需要附加的字段的 ID,YY YY 是它的大小,ZZ = 数据.

我想应该或多或少可以读取这个标记 (1C 02 XX) 之前的所有图像数据,然后增加大小字节 (YY YY),在 ZZ 的末尾添加数据,然后添加其余的原始文件?这个对吗?

我该如何继续?它需要尽可能快地处理 4-5 MB JPEG 文件。

最佳答案

一般来说,没有办法加快这个操作。您必须至少读取需要移动的部分并将其重新写入更新的文件中。如果可以并行读取和写入操作,则创建新文件并将内容复制到其中可能会更快。

注意:在您的特定情况下,可能无法仅在文件中间插入内容,因为大多数文件格式在设计时并未考虑此类修改。当您移动文件的一部分时,文件的某些部分通常会有偏移量,这些偏移量将无效。指定您尝试使用的文件格式可能有助于其他人提供更好的方法。

关于c# - 在二进制文件中间插入字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5939464/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com