Your description of what you are doing sounds normal. The choice of input size only affects efficiency. Byte bytes are minimized if the length of each input part (except, of course, the last) is a multiple of 3.
, . : . . .
: b64encode , , , , , b''.join(pieces) b64decode, ?
: , UDP- ; base64?