如何读取和比较C++中的JPEG文件中的单个字节?
我需要从jpeg文件中读取单个字节。换句话说,我有一个JPG文件的十六进制转储:我需要编写一个简单的C++代码,它可以读取所有字节,直到它到达有趣的部分为止。一旦我读取了一个字节,我如何将它与我给它的值进行比较 我需要这个,因为在FF字节的5个字节之后,它表示我的jpeg的像素尺寸,我需要检索它们如何读取和比较C++中的JPEG文件中的单个字节?,c++,file,jpeg,C++,File,Jpeg,我需要从jpeg文件中读取单个字节。换句话说,我有一个JPG文件的十六进制转储:我需要编写一个简单的C++代码,它可以读取所有字节,直到它到达有趣的部分为止。一旦我读取了一个字节,我如何将它与我给它的值进行比较 我需要这个,因为在FF字节的5个字节之后,它表示我的jpeg的像素尺寸,我需要检索它们 如果我犯了一些语言错误,我很抱歉,但我不是母语。请避免在这篇文章上投票,因为这不是对问题的实际回答:这只是一个参考页。如果你知道关于编写JPG/JPEG加载器的细节的任何其他参考资料,请随意编辑本文并
如果我犯了一些语言错误,我很抱歉,但我不是母语。请避免在这篇文章上投票,因为这不是对问题的实际回答:这只是一个参考页。如果你知道关于编写JPG/JPEG加载器的细节的任何其他参考资料,请随意编辑本文并添加以下链接 图像 链接
除非图像文件是彼此的副本,否则JPEG压缩可能会导致两个看似相等的图像在字节级别根本不相等。甚至没有解压缩。当然,除非你想获取JPEG文件元数据?@Someprogrammerdude是的,我理解,但我了解到所有JPEG文件在其十六进制转储的某个点上都有相同的头,该头以FF C0开头,包含图像的像素尺寸。我不知道我自己解释得是否充分。无论如何,谢谢你的回答!JPEG文件格式是一种开放格式,在查找有关其文件格式的参考资料时应该没有问题,包括其所有元数据(如文件头)的结构。还有一些库可以读取JPEG文件,它们可以提取您需要的确切数据,而不是试图制作自己的加载程序。如果您想按字节读取文件,只需像打开二进制文件一样逐个字节地读取即可。然后,您可以组合一个状态机来确定感兴趣的区域,并以这种方式读取它。这更符合您的要求吗?搜索FF C0是不够的,因为文件的早期部分可能包含它纯粹是巧合。您确实需要从一开始就逐个解析文件。预先存在的库是实现这一点的最简单方法;我会退房的。