diff --git a/cores/esp8266/libb64/cencode.cpp b/cores/esp8266/libb64/cencode.cpp index d86df31af2..1d1ed89712 100755 --- a/cores/esp8266/libb64/cencode.cpp +++ b/cores/esp8266/libb64/cencode.cpp @@ -22,20 +22,10 @@ void base64_init_encodestate_nonewlines(base64_encodestate* state_in){ state_in->stepsnewline = -1; } -char base64_encode_value(const char n) { - char r; - - if (n < 26) - r = n + 'A'; - else if (n < 26 + 26) - r = n - 26 + 'a'; - else if (n < 26 + 26 + 10 ) - r = n - 26 - 26 + '0'; - else if (n == 62 ) - r = '+'; - else - r = '/'; - return r; +char base64_encode_value(const unsigned char n) { + static const char* encoding = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + if (n > 63) return '='; + return encoding[n]; } int base64_encode_block(const char* plaintext_in, int length_in, char* code_out, base64_encodestate* state_in){