Many years of protocol-related coding teach me that it is a common fallacy to desire designing
decode/encode
decrypt/encrypt
read/write
APIs symmetrically.
Simple example: When you have type length value structures, you know the length prior to decoding value but you may not know the length prior to encoding value.
Have the courage to break out of this desire for symmetry. Beautiful and efficient API designs may emerge.