| | |
| | | char_array_4[1] = (byte) (((char_array_3[0] & 0x03) << 4) + ((char_array_3[1] & 0xf0) >> 4)); |
| | | char_array_4[2] = (byte) (((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6)); |
| | | char_array_4[3] = (byte) (char_array_3[2] & 0x3f); |
| | | for (i = 0; (i < 4); i++) |
| | | for (i = 0; (i < 4); i++) { |
| | | retContent += base64_alphabet[char_array_4[i]]; |
| | | } |
| | | i = 0; |
| | | } |
| | | } |
| | | |
| | | // handling the last input content |
| | | if (i > 0) { |
| | | for (j = i; j < 3; j++) |
| | | for (j = i; j < 3; j++) { |
| | | char_array_3[j] = 0; // padding of zero |
| | | } |
| | | |
| | | char_array_4[0] = (byte) ((char_array_3[0] & 0xfc) >> 2); // right |
| | | // shift |
| | |
| | | char_array_4[2] = (byte) (((char_array_3[1] & 0x0f) << 2) + ((char_array_3[2] & 0xc0) >> 6)); |
| | | char_array_4[3] = (byte) (char_array_3[2] & 0x3f); |
| | | |
| | | for (j = 0; (j < i + 1); j++) |
| | | for (j = 0; (j < i + 1); j++) { |
| | | retContent += base64_alphabet[char_array_4[j]]; |
| | | } |
| | | |
| | | while ((i++ < 3)) |
| | | // padding of '=' of output string |
| | | { |
| | | retContent += '='; |
| | | } |
| | | |
| | | } |
| | | return retContent; |
| | |
| | | mLength--; |
| | | char_array_4[i++] = data[enCode++]; |
| | | if (i == 4) { |
| | | for (i = 0; i < 4; i++) |
| | | for (i = 0; i < 4; i++) { |
| | | char_array_4[i] = findChar((char) char_array_4[i]); |
| | | } |
| | | |
| | | char_array_3[0] = (byte) ((char_array_4[0] << 2) + ((char_array_4[1] & 0x30) >> 4)); |
| | | char_array_3[1] = (byte) (((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2)); |
| | | char_array_3[2] = (byte) (((char_array_4[2] & 0x3) << 6) + char_array_4[3]); |
| | | |
| | | for (i = 0; (i < 3); i++) |
| | | for (i = 0; (i < 3); i++) { |
| | | retContent += (char) char_array_3[i]; |
| | | } |
| | | i = 0; |
| | | } |
| | | } |
| | | |
| | | // last content handling |
| | | if (i > 0) { |
| | | for (j = i; j < 4; j++) |
| | | for (j = i; j < 4; j++) { |
| | | char_array_4[j] = 0; |
| | | } |
| | | |
| | | for (j = 0; j < 4; j++) |
| | | for (j = 0; j < 4; j++) { |
| | | char_array_4[j] = findChar((char) char_array_4[j]); |
| | | } |
| | | |
| | | char_array_3[0] = (byte) ((char_array_4[0] << 2) + ((char_array_4[1] & 0x30) >> 4)); |
| | | char_array_3[1] = (byte) (((char_array_4[1] & 0xf) << 4) + ((char_array_4[2] & 0x3c) >> 2)); |
| | | char_array_3[2] = (byte) (((char_array_4[2] & 0x3) << 6) + char_array_4[3]); |
| | | |
| | | for (j = 0; (j < i - 1); j++) |
| | | for (j = 0; (j < i - 1); j++) { |
| | | retContent += (char) char_array_3[j]; |
| | | } |
| | | } |
| | | |
| | | return retContent; |