我不确定endian是否是正确的词,但..
我一直在解析PNG文件,我注意到所有的整数值都是大端的.这是真的?
例如,宽度和高度作为32位无符号整数存储在PNG文件中.我的图像是16x16,在文件中存储为:
00 00 00 10
Run Code Online (Sandbox Code Playgroud)
应该是什么时候:
10 00 00 00
Run Code Online (Sandbox Code Playgroud)
这是真的还是我缺少的东西?
ja.*_*ja. 19
是的,根据规范,整数必须是网络字节顺序(大端):
所有需要多个字节的整数应按网络字节顺序排列:首先是最高有效字节,然后是重要性降序的较低有效字节(两字节整数的MSB LSB,四字节整数的MSB B2 B1 LSB) ).一个字节的最高位(值128)编号为第7位; 最低位(值1)编号为位0.除非另有说明,否则值为无符号.明确标记为signed的值以二进制补码表示.
http://www.w3.org/TR/2003/REC-PNG-20031110/#7Integers-and-byte-order