Вам нужно что-то, что может кодировать произвольные октеты, а не то, что просто кодирует текст (например, некоторые битовые комбинации недопустимы в UTF-16).
Так что на самом деле две опции для кодирования двоичного файла в виде текста:
Поскольку для hex требуется два текстовых символа для каждого октета, в то время как для base64 требуется около 1,3, выбор будет равен base64, если нет некоторыхпричина не.