Endianness в двоичной обработке в JS

Я пишу реализацию протокола AMF (формат сообщения о действии) в JS. Нужно ли учитывать порядок следования байтов при анализе потока байтов из сети? Причина, по которой я спрашиваю, заключается в том, что, насколько мне известно, большинство систем в наши дни имеют обратный порядок байтов, но, по-видимому, все данные, поступающие по TCP / IP, имеют обратный порядок байтов (сетевой порядок байтов).


person Danny Kopping    schedule 02.03.2014    source источник
comment
Как будто это уже не было болезненно очевидно, я немного ноль, когда дело доходит до двоичной обработки, и у меня не было полного формального образования в области CS. Быть нежным :)   -  person Danny Kopping    schedule 02.03.2014
comment
Все хорошо, но я почти уверен, что стек TCP позаботится об этом за вас. Есть ли какая-то конкретная проблема, которую это вызывает? Можете ли вы опубликовать код/дополнительную информацию о проблеме или вы просто ищете дополнительную информацию?   -  person Michael Coxon    schedule 02.03.2014
comment
Никаких конкретных проблем - просто пытаюсь быть благоразумным :)   -  person Danny Kopping    schedule 02.03.2014
comment
Нет проблем. Да, как я уже сказал, я думаю, что стек TCP должен позаботиться об этом. Но это будет отличаться в зависимости от устройства. x86 имеет прямой порядок байтов, тогда как я почти уверен, что ARM имеет прямой порядок байтов. Надеюсь, кто-то может пролить немного больше света на это больше вас.   -  person Michael Coxon    schedule 02.03.2014


Ответы (1)


Если вы передаете байты, они рассматриваются как байты. Порядок следования байтов определяется реализацией источника данных, поэтому он может быть либо прямым, либо прямым порядком байтов.

Несмотря на это, принятой нормой для передачи TCP/IP является обратный порядок байтов, и большинство передач следуют этому правилу.

Я бы предположил, что самый простой способ определить порядок байтов ваших исходных данных — попытаться проанализировать их и сравнить результат с образцом.

person khaliq    schedule 21.10.2014