Как вы конвертируете между необработанными значениями и десятичными (Python) - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь конвертировать между различными базами и raw в Python. Я подумал, что самым простым способом было бы взять значение в любой базе, преобразовать его в десятичную и затем преобразовать в желаемый результат. Например: 'hex -> de c -> raw'

Ввод:

6e447a386c255b3b71306f6a537c4a3067414d5f724d426b513c652e23277077732c6c653747225c7c79497a475a6a3c78294170477a3f497a722b2d3e447326

Желаемый вывод:

nDz8l%[;q0ojS|J0gAM_rMBkQ<e.#'pws,le7G"\|yIzGZj<x)ApGz?Izr+->Ds&

Вывод был создан с использованием Кибершеф из шестнадцатеричной функции .

В настоящее время я застрял в том, как преобразовать как в raw, так и из необработанной строки в кодировке UTF-8 в десятичное значение.

1 Ответ

1 голос
/ 28 апреля 2020

Вы можете декодировать объект байта, созданный fromhex, и получить желаемый результат.

def hex_to_str(hex):
    return bytes.fromhex(hex).decode('utf-8')

hex_to_str("6e447a386c255b3b71306f6a537c4a3067414d5f724d426b513c6
52e23277077732c6c653747225c7c79497a475a6a3c78294170477a3f497a722b2d3e447326")

Результат:

>>> nDz8l%[;q0ojS|J0gAM_rMBkQ<e.#'pws,le7G"\|yIzGZj<x)ApGz?Izr+->Ds&

...