Есть куча алгоритмов сжатия. Посмотрите арифметическое кодирование и Huffman. Совсем длинные строки всё равно не влезут, конечно, но процентов 30 добиться реально
Обычное шестнадцатеричное представление файла.
Просто байты, написанные текстом.
Вот эти FF D8 FF ... перевести в данные вам надо. (ну или это логер так их печатает, а на самом деле оно и так в нужном виде)
FF D8 это точно начало заголовка JPG.