| 185 | const uint32_t b0 = data[i]; |
| 186 | const uint32_t b1 = i + 1 < size ? data[i + 1] : 0; |
| 187 | const uint32_t b2 = i + 2 < size ? data[i + 2] : 0; |
| 188 | const uint32_t chunk = (b0 << 16) | (b1 << 8) | b2; |
| 189 | out.push_back(kAlphabet[(chunk >> 18) & 0x3f]); |
| 190 | out.push_back(kAlphabet[(chunk >> 12) & 0x3f]); |
| 191 | out.push_back(i + 1 < size ? kAlphabet[(chunk >> 6) & 0x3f] : '='); |
| 192 | out.push_back(i + 2 < size ? kAlphabet[chunk & 0x3f] : '='); |