Вопрос

Существует ли библиотека для C #, которая обеспечивает функциональность, аналогичную struct python, из стандартная библиотека ?

Можно достаточно эмулировать библиотеку структур с реально выровненными структурами. Но я пока не нашел способа напрямую управлять порядком байтов в структурах C # (структуры C #, похоже, больше ориентированы на взаимодействие COM, а не на бинарную упаковку общего назначения).

Это было полезно?

Решение

Ближайшим аналогом, вероятно, будет использование BinaryWriter запись в MemoryStream или BitConverter для одноразового преобразования одного значения в байтовый массив.

Если вы хотите контролировать этот порядок, вы можете использовать мой EndianBinaryWriter / EndianBitConverter из MiscUtil . Еще одна особенность моего EndianBitConverter заключается в том, что вы можете преобразовать в определенную часть существующего массива, что поможет вам, если вы захотите портировать struct.pack самостоятельно.

scroll top