Я понимаю маленького и большого endian, но что означает «машинный порядок байтов»?
В упаковке фраза «порядок машинного байта» означает, что конечная точка определяется текущим устройством 1
Сам PHP не дает никаких гарантий относительно того, какая из этих символов (например, S
, L
) кодирует данные, за исключением того, что порядок относится к текущему компьютеру .
Поэтому будьте осторожны с использованием символов пакета «порядок байтов» и рассмотрите контр-элементы гарантированного порядка (например, n
, v
), если есть все сомнения 1 . Однако обратите внимание на спецификацию целевых данных, поскольку некоторые глупые форматы, такие как [Microsoft] UUID, выложены в терминах «порядковый байтовый порядок», в то время как другие всегда являются большими или всегда мало-endian.
1 x86 / x64 всегда малоподобный, но PHP может технически работать на больших машинах. Лучше всего привыкнуть к тому, чтобы быть явным и точным, чтобы избежать внезапного и загадочного кода внезапно «перестать работать» позже.