Ответ 1
Да, согласно спецификации, целые числа должны быть в байтовом порядке сети (big endian):
Все целые числа, для которых требуется более одного байта, должны быть в сетевом порядке: самый старший байт приходит первым, а затем менее значимые байты в порядке убывания значимости (MSB LSB для двухбайтовых целых чисел, MSB B2 B1 LSB для четырех -байтные целые числа). Самый старший бит (значение 128) байта - это пронумерованный бит 7; младший бит (значение 1) представляет собой пронумерованный бит 0. Значения не имеют знака, если не указано иное. Значения, явно отмеченные как подписанные, представлены в двух дополняющих обозначениях.
http://www.w3.org/TR/2003/REC-PNG-20031110/#7Integers-and-byte-order