Fun small educational project: If you want to learn how to work with units smaller than a byte, implement Base64 from scratch. It’s really fun!
uint32_t triple = *(uint32_t *)in;
*out++ = base64[triple & MASK];
*out++ = base64[(triple >> 6) & MASK];
*out++ = base64[(triple >> 12) & MASK];
*out++ = base64[(triple >> 18) & MASK];
in += 3;
(The 32-bit load can read one byte past the end of the buffer, so allocate extra space or stop the loop early.)