如何更改文件的标题字节(签名)?

时间:2014-07-28 12:28:59

标签: ios file file-io

我正在创建一个动画GIF图像,虽然GIF支持文件中的多个图像,以及支持动画,但在分析HEX Signature时,我发现它显示 GIF 87a 签名,这是旧的GIF格式,签名应该是 GIF 89a

所以问题是,问题是:

  • 如何更改任何文件的HEX签名?
  • 我应该更改HEX签名吗? (因为我创建的gifs肯定支持多个文件和动画,它应该有GIF 89a hex,但它没有)
  • iOS上的所有这些!

谢谢大家!

1 个答案:

答案 0 :(得分:0)

对于我的具体问题,解决了它,通过用我创建的GIF替换GIF89a文件的HEX签名(GIF的前6个字节)。

以下是替换HEX签名的示例代码。

NSMutableData *GIF89a = [NSMutableData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"1.gif" ofType:nil]];
NSMutableData *GIF87a = [NSMutableData dataWithContentsOfFile:filePath];
NSMutableData *hexSignature = [NSMutableData dataWithData:[gifData subdataWithRange:NSMakeRange(0, 6)]];
[data replaceBytesInRange:NSMakeRange(0, 6) withBytes:gif89.bytes];

我会感谢任何人提供更好的解决方案,谢谢! :)