Я искал метод для преобразования строки hex
в base64
.Здесь уже есть ответ , но лучший ответ, хотя и очень элегантный, относится к более ранним версиям Python.
Пока что я так решаю проблему:
import codecs
import base64
def hex_to_base64(hex_str):
decode_hex = codecs.getdecoder("hex_codec")
encode_b64 = base64.b64encode(decode_hex(hex_str)[0])
return encode_b64
Есть ли лучший / более Pythonic
способ сделать это?
Думаю, я могу сократить его и избавиться от импорта codecs
следующим образом:
import base64
def hex_to_base64(hex_str):
encode_b64 = base64.b64encode(bytes.fromhex(hex_str))
return encode_b64
И теперь возникает второй вопрос: Для чего нужен модуль codec
? Модуль описан как
Этот модуль определяетбазовые классы для стандартных кодеков Python (кодеры и декодеры)
Могу ли я использовать модуль codec
для всех моих кодировок и декодировок?