C # эквивалент struct.pack для Python
-
10-07-2019 - |
Вопрос
Существует ли библиотека для C #, которая обеспечивает функциональность, аналогичную struct
python, из стандартная библиотека ?
Можно достаточно эмулировать библиотеку структур с реально выровненными структурами. Но я пока не нашел способа напрямую управлять порядком байтов в структурах C # (структуры C #, похоже, больше ориентированы на взаимодействие COM, а не на бинарную упаковку общего назначения).
Решение
Ближайшим аналогом, вероятно, будет использование BinaryWriter
запись в MemoryStream
или BitConverter
для одноразового преобразования одного значения в байтовый массив.
Если вы хотите контролировать этот порядок, вы можете использовать мой EndianBinaryWriter / EndianBitConverter из MiscUtil а>. Еще одна особенность моего EndianBitConverter
заключается в том, что вы можете преобразовать в определенную часть существующего массива, что поможет вам, если вы захотите портировать struct.pack
самостоятельно. р>