Different byte arrangements for one value
The two-byte value 1023 is 0x03FF. Big-endian stores 03 then FF; little-endian stores FF then 03. Both represent the same value, but a reader must know the convention.
“First” normally means a lower memory address or earlier file offset. A single-byte field has no internal byte order to swap. Reversing an entire record also moves fields, so it is generally not an endian conversion.
References: [1]
Interchange formats specify their own convention
An interchange format can fix byte order or identify it in a header. ELF identification distinguishes little- and big-endian encoding, which readers must account for before interpreting multibyte fields.
Python struct uses < for little-endian, > for big-endian and ! for its network big-endian form. This interface does not establish that every network protocol uses one order; each format still defines its own fields.
Byte order, width and alignment are separate
Width, byte order and padding are distinct. Python struct @ uses native sizes and alignment; = retains native byte order but uses standard sizes without automatic alignment.
Serialization therefore needs field types, widths and boundaries as well as endianness. Copying a native structure can transmit padding or platform-dependent layouts. Two little-endian machines do not consequently share every record format.