EndianBinaryIO (nuget): This .NET library provides a simple API to read/write bytes from/to streams and spans using user-specified endianness. By default, supported types include primitives, enums, arrays, strings, and some common .NET struct types. Objects can also be read/written from/to streams via reflection and attributes. The developer can use the API even if their target behavior or data is not directly supported by using the IBinarySerializable interface, inheritting from the reader/writer, or using the manual Span methods without streams. Performance is the focus when not using reflection; no allocations unless absolutely necessary!  Project URL and Samples ― https://github.com/Kermalis/EndianBinaryIO
Keywords: Serialization|Reflection|Endianness|LittleEndian|BigEndian|EndianBinaryIO|big-endian|csharp|csharp-library|endian|endianbinaryio|endianness|little-endian|serialization|serialization-library|serialize-objects|serializer