Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.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
Encoding 获取文件信息.bmp_Encoding_Metadata_Bmp - Fatal编程技术网

Encoding 获取文件信息.bmp

Encoding 获取文件信息.bmp,encoding,metadata,bmp,Encoding,Metadata,Bmp,我对.bmp相当陌生 我想了解更多。我现在有一个.bmp文件,我想知道从哪里可以得到标题信息、文件信息等。 实际上,我需要在图像后面编写代码(不是打开图像本身,而是查看写入的内容-位图、标题等)。 我想访问你可以在维基百科上阅读的信息 我不知道如何打开文件来获取这些信息。。。我想我可以在文本编辑器中阅读它 有人能给我指出正确的方向吗?这是一个很好的页面,详细介绍了.bmp图像的二进制文件格式: 当然,微软本身也有文档: 要查看文件中的原始十六进制数据,请使用十六进制编辑器,例如您: 假设我想

我对.bmp相当陌生 我想了解更多。我现在有一个.bmp文件,我想知道从哪里可以得到标题信息、文件信息等。 实际上,我需要在图像后面编写代码(不是打开图像本身,而是查看写入的内容-位图、标题等)。 我想访问你可以在维基百科上阅读的信息

我不知道如何打开文件来获取这些信息。。。我想我可以在文本编辑器中阅读它


有人能给我指出正确的方向吗?

这是一个很好的页面,详细介绍了.bmp图像的二进制文件格式:

当然,微软本身也有文档:

要查看文件中的原始十六进制数据,请使用十六进制编辑器,例如您:

假设我想在十六进制代码中找到图像的大小。我怎样才能得到那个十六进制代码

因此,选择任意BMP文件并在十六进制编辑器中打开它。从:

BMP格式文件的所有版本都以以下14字节[文件]头开始:

[……]

版本4.x BMP文件以与v2.x和v3.x BMP文件相同的14字节头开始。文件头后面还有一个位图头,它是v3.x位图头的扩展版本

typedef struct _Win4xBitmapHeader
{
    DWORD Size;            /* Size of this header in bytes */
    LONG  Width;           /* Image width in pixels */
    LONG  Height;          /* Image height in pixels */
    [...]
} WIN4XBITMAPHEADER;
因此,第一个头是14个字节。第15-18字节定义第二个标头的长度。然后按照两个长度,每个长度为四个字节,给出图像的宽度和高度


所以字节19-22给出宽度,字节23-26给出高度-对于版本3或4位图。版本1和版本2对每个维度分别使用一个和两个字节,因此请确保首先检查位图版本(通过分析标题大小)。

您所说的“文件信息”和“编写的代码”是什么意思?你的最终结果是什么?你具体在寻找什么数据?还有,哪种编程语言?@CodeCaster请看这里。这里解释了文件的结构。我不想看到图像本身,但创建图像的代码(位图、头部等)我不想在特定的编程语言中这样做-我想这可能是我可以在文本编辑器中打开的东西?!您不必向我解释BMP文件格式,我知道。:)如果你有一个十六进制编辑器,你可以读取你想要的所有字节。@CodeCaster谢谢,这是我在任何地方都找不到的信息。。所有页面都显示了文件的信息,但我不知道如何获取它们嘿,谢谢。我知道-文件的结构如何等,但如何访问这些信息?当我的屏幕上有一个实际的bmp时,我在哪里可以阅读它们computer@Chrissl文件格式定义中解释了这些头字节的编码位置和编码方式。但是你不想自己做这件事。有很多库函数可以帮助您实现这一点。这取决于您使用的编程语言或平台。如果您的问题是“如何从头编写BMP元数据解析器”,这个问题太广泛。@chrisl您将使用编程语言编写一个短脚本从文件中读取二进制数据,并将其公开为您要查找的数字。@CodeCaster Nope,这不是我的问题。假设我想在十六进制代码中找到图像的大小。我怎样才能得到那个十六进制代码。或者,看看是否有某种“秘密信息”被写入或改变像素颜色。我在哪里可以这样做?@DmitryBrant谢谢,这是我在任何地方都找不到的信息。。所有页面都显示了文件的信息,但我不知道如何获取它们