I am trying to specify a binary file format and I like to have the code generated for multiple languages, like C++, C# etc. so that file exchange works flawlessly. For that to be successful, the file format also needs to be aware of endianness.
It looks like ASN.1 has all I need. While there is a list of tools, I can hardly decide on which one to start with, so I'm asking you for recommendations. Which ASN.1 toolset have you used to successfully define a file format or protocol?
Requirements:
- Editor for defining the ASN.1 syntax, ideally with syntax highlighting and squiggly lines like modern programming environments have
- Decoding capability: Live preview of a binary file with the syntax I am editing
- Encoding capability: Create an empty binary file and let me populate it
- Code generation: generate C++ and C# code to read and write the file
- gratis, not necessarily open source, but open source is preferred
- works on Windows (10 in particular)