Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.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
如何读取和比较C++中的JPEG文件中的单个字节?_C++_File_Jpeg - Fatal编程技术网

如何读取和比较C++中的JPEG文件中的单个字节?

如何读取和比较C++中的JPEG文件中的单个字节?,c++,file,jpeg,C++,File,Jpeg,我需要从jpeg文件中读取单个字节。换句话说,我有一个JPG文件的十六进制转储:我需要编写一个简单的C++代码,它可以读取所有字节,直到它到达有趣的部分为止。一旦我读取了一个字节,我如何将它与我给它的值进行比较 我需要这个,因为在FF字节的5个字节之后,它表示我的jpeg的像素尺寸,我需要检索它们 如果我犯了一些语言错误,我很抱歉,但我不是母语。请避免在这篇文章上投票,因为这不是对问题的实际回答:这只是一个参考页。如果你知道关于编写JPG/JPEG加载器的细节的任何其他参考资料,请随意编辑本文并

我需要从jpeg文件中读取单个字节。换句话说,我有一个JPG文件的十六进制转储:我需要编写一个简单的C++代码,它可以读取所有字节,直到它到达有趣的部分为止。一旦我读取了一个字节,我如何将它与我给它的值进行比较

我需要这个,因为在FF字节的5个字节之后,它表示我的jpeg的像素尺寸,我需要检索它们


如果我犯了一些语言错误,我很抱歉,但我不是母语。

请避免在这篇文章上投票,因为这不是对问题的实际回答:这只是一个参考页。如果你知道关于编写JPG/JPEG加载器的细节的任何其他参考资料,请随意编辑本文并添加以下链接

图像

链接


除非图像文件是彼此的副本,否则JPEG压缩可能会导致两个看似相等的图像在字节级别根本不相等。甚至没有解压缩。当然,除非你想获取JPEG文件元数据?@Someprogrammerdude是的,我理解,但我了解到所有JPEG文件在其十六进制转储的某个点上都有相同的头,该头以FF C0开头,包含图像的像素尺寸。我不知道我自己解释得是否充分。无论如何,谢谢你的回答!JPEG文件格式是一种开放格式,在查找有关其文件格式的参考资料时应该没有问题,包括其所有元数据(如文件头)的结构。还有一些库可以读取JPEG文件,它们可以提取您需要的确切数据,而不是试图制作自己的加载程序。如果您想按字节读取文件,只需像打开二进制文件一样逐个字节地读取即可。然后,您可以组合一个状态机来确定感兴趣的区域,并以这种方式读取它。这更符合您的要求吗?搜索FF C0是不够的,因为文件的早期部分可能包含它纯粹是巧合。您确实需要从一开始就逐个解析文件。预先存在的库是实现这一点的最简单方法;我会退房的。