Вы можете использовать кодировку Base-128 вместо кодировки Base-64.Это приведет только к издержкам 1/7 в противоположность 1/3.
Идея состоит в том, чтобы использовать все кодовые точки Unicode, которые могут быть представлены одним байтом в UTF-8 (0–127),Это означает, что все байты начинаются с 0
, поэтому для данных остается семь битов:
0xxxxxxx
Это приводит к кодированию, где 7 входных байтов кодируются с использованием 8 выходных байтов:
input: aaaaaaaa bbbbbbbb cccccccc dddddddd eeeeeeee ffffffff gggggggg
output: 0aaaaaaa 0abbbbbb 0bbccccc 0cccdddd 0ddddeee 0eeeeeff 0ffffffg 0ggggggg
Таким образом, отношение выхода к входу составляет 8 / 7.