@kaka888
C, C++, Qt, Python Flask, MySQL, Lua

Нужен base64: использовать модуль codecs или модуль base64?

Привет. До этого момента для преобразования 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...
Но мне всё равно не понятно, почему и зачем.
  • Вопрос задан
  • 107 просмотров
Решения вопроса 1
saboteur_kiev
@saboteur_kiev Куратор тега Python
software engineer
\n не мешает енкодингу|декодингу. в base64 И вообще этот символ не участвует в собственно передаче информации. Только для форматирования
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы