54 const size_t in_size = in.length();
55 out.reserve(((in_size - 1) / 3 + 1) * 4);
56 for (
size_t i = 0; i + 2 < in_size; i += 3) {
57 absl::StrAppend(&out, Base64Piece(in[i], in[i + 1], in[i + 2]));
59 if (in_size % 3 == 1) {
60 absl::StrAppend(&out, Base64Piece(in[in_size - 1], 0, 0));
62 if (in_size % 3 == 2) {
63 absl::StrAppend(&out, Base64Piece(in[in_size - 2], in[in_size - 1], 0));