если флаг порядка байтов указывает, что поток данных имеет порядок байтов, отличный от архитектуры машины, то, вероятно, это не будет работать?
Первое - порядок битов от вас абстрагирован. Если вы не вертитесь, вам все равно.
Порядок байтов - это совсем другое. Для 4-байтового количества он может быть первым младшим байтом или первым старшим байтом. Я не знаю, что использует ReadDouble (), но если вы используете BinaryReader на одном конце провода и BinaryWriter на другом, то, опять же, вам все равно. Он должен быть написан в том же порядке, в котором он читается, без учета порядка байтов.
Мне кажется, единственный случай, когда вам не все равно, если вы не используете .NET на другом конце провода. В этом случае вы должны убедиться, что байты находятся в правильном порядке, используя схему, аналогичную описанной вами. (Array.Reverse и т. Д.).
Обычно приложения, которые сталкиваются с этой проблемой, используют многобайтовую подпись для четкого указания порядка. Другими словами, запишите 0x01020304 в поток, и на стороне читателя, если вы получите 0x04030201, вы знаете, что у вас есть разница в порядке байтов.
Я мог бы просто проверить это, но у меня нет источника данных для обоих порядков байтов ...
Ну, ты должен это исправить. Вы не можете развиваться без возможности проверить то, что вы разрабатываете. Также возникает вопрос: если у вас нет источника, который использовал бы другой порядок байтов, то почему вы вообще обеспокоены этой проблемой?
Смотри также:
- Обратный порядок байтов в .NET
- Класс для выбора порядка байтов BitConverter