I've started writing my own implementation of the `age` file encryption format (
https://github.com/C2SP/C2SP/blob/main/age.md)
As a format, I like it on the whole (*especially* in comparison to pgp), but I really don't understand why the header format is text-based. IMHO it's much easier to write robust parsers for binary formats, especially when things like variable whitespace and non-canonical base64 encodings could be involved.