Why not embrace the Unicode world we live in now and just offset bytes to a Unicode region that has 256 non-space characters? https://github.com/diafygi/Offset248 Pros: simple, no ratio or ending calculation, easy copy/paste, same character length as original bytes Cons: has to be percent encoded in urls, some fonts might not render all characters
In utf8, these characters are all encoded as two bytes. So this encoding makes the byte count twice as long, it's no more efficient (in bytes) than hex encoding.