Правильный способ преобразования шестнадцатеричной строки в base64 в Python3 + и для чего нужен модуль кодеков? - PullRequest
0 голосов
/ 25 сентября 2018

Я искал метод для преобразования строки 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 для всех моих кодировок и декодировок?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...