I have started RFC #7337 to discuss a common standard on how Nim and its ecosystem should interface with binary data.
This was started for cryptographic and hashing needs but it seems to be a much broader issue than that: graphics, networking, random functions, compression & codecs, streaming and probably lot of other domains.
Currently, just in crypto libraries we use array[N, char], array[N, uint8], array[bits div 8, uint8] wrapped in an object[bits: static[int]], array[N, byte], distinct array[N, uint32], string, ptr cuchar + length.
You're welcome to add your opinions and proposals on Github directly.
You can share in this thread either a domain ("I'm writing a video editor and it's a pain to deal with inconsistent ptr uint8 + len, string buffers ...") or a library that is concerned by such standardization so that we know how many people we will annoy ... *cough* benefit.