Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 读/写文件头_Objective C_Ios_C_File Io_Header - Fatal编程技术网

Objective c 读/写文件头

Objective c 读/写文件头,objective-c,ios,c,file-io,header,Objective C,Ios,C,File Io,Header,我正在尝试编辑文件的文件头。但是如果我从文件(NSData)中获取字节,我就看不到或不知道头从哪里开始,负载从哪里开始。因此,当我想添加签名或其他内容时,这是不可能的 谁能给我指一下正确的方向吗 iOS中的文件头是什么样子的?我也找不到统一的标题格式,这使得它更难阅读 总结: 我想知道标题从哪里开始和结束。 我想编辑这个标题。 我想知道文件头的结构。iOS中的文件头看起来像任何其他操作系统中的文件头。它可以是你想要的任何东西,也可以是你想要的长短。如果您希望它是可变长度的,那么一种方法是以一个幻

我正在尝试编辑文件的文件头。但是如果我从文件(NSData)中获取字节,我就看不到或不知道头从哪里开始,负载从哪里开始。因此,当我想添加签名或其他内容时,这是不可能的

谁能给我指一下正确的方向吗

iOS中的文件头是什么样子的?我也找不到统一的标题格式,这使得它更难阅读

总结: 我想知道标题从哪里开始和结束。 我想编辑这个标题。
我想知道文件头的结构。

iOS中的文件头看起来像任何其他操作系统中的文件头。它可以是你想要的任何东西,也可以是你想要的长短。如果您希望它是可变长度的,那么一种方法是以一个幻数(实际上是一个四个字母的UTF-8字符串,它意味着一些重要的东西)开始,然后可能是一个32位的头长度,用little-endian编码(因为iOS和OSX是little-endian),然后是您需要编码的任何东西


有关当前存在哪些文件头的示例,请查看命令并查看
/usr/share/file/magic/
中的文件。它通常使用文件头来确定文件的类型。

谢谢,但是有办法检索头吗?我怎么知道我有完整的头?@stacker:这取决于-头通常只是文件的第一部分,所以你必须知道文件格式(有时它只是一个固定的字节数,包含一些关于文件的基本信息,有时一个头字段包含其长度(或等效信息)有一个特殊的字节序列标记有效负载的开始。