Мне нужно отправить пакет JSON по проводам с содержимым произвольного файла. Это может быть двоичный файл (например, файл ZIP), но чаще всего это простой текст ASCII.
В настоящее время я использую кодировку base64, которая обрабатывает все файлы, но значительно увеличивает размер данных - даже если файл ASCII для начала. Есть ли более эффективный способ, которым я могу кодировать данные, кроме ручной проверки на наличие любых символов, не относящихся к ASCII, а затем принятия решения о том, нужно ли кодировать их base64?
В настоящее время я пишу это на Python, но, вероятно, потребуется сделать то же самое на Java, C # и C ++, поэтому было бы предпочтительнее легко переносимое решение.