У меня есть поток данных, который я пытаюсь кодировать с помощью UUencode, чтобы передать данные на внешний чип. Чип принимает сразу 512 байт необработанных данных. Я кодирую 512 байт с помощью UUencode.
Насколько я понимаю, данные должны быть преобразованы в 11 строк по 45 байтов (что будет 60 байтов после кодирования) и 1 оставшуюся строку из 17 байтов.
Очевидно, что 17-байтовые косяки не отображаются напрямую в сегменты с кодировкой uuenco, поскольку они не кратны 3, но когда я получаю данные с кодировкой uuencoded, последняя строка возвращает 24 кодированных байта (или 18 необработанных байтов).
Это означает, что теперь у меня есть 513 байтов данных. Мой вопрос заключается в том, является ли это ошибкой в моем алгоритме uuencode (хотя с чисто математической точки зрения я не понимаю, как это может быть) или, альтернативно, откуда берется дополнительный байт и как мне снова от него избавиться?