Привет. До этого момента для преобразования b'Строки' в base64 вид юзал модуль codecs: codecs.encode(b_string, 'base64') и codecs.decode(b_string_with_base64_encoding, 'base64') и вроде оно норм работало. Но недавно в одних доках увидел, что для этого юзается [тоже стандартный] модуль base64, и я начал тестить его и разбираться. К моему удивлению, codecs и base64 для одной строки выдают разные base64-строки O_O - codecs добавляет '\n' в конец выходной строки.
ПоЧаМу так? o_o
UPD:
В доках Питухона нашёл раздел, где говорится, что всегда в конце ставится '\n' при енкодинге в base64: Convert the operand to multiline MIME base64 (the result always includes a trailing '\n').
Changed in version 3.4: accepts any bytes-like object as input for encoding and decoding
https://docs.python.org/3/library/codecs.html#bina...
Но мне всё равно не понятно, почему и зачем.