Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Как перевести строку hex в hex в Python?

  1. Как перевести строку hex в hex в Python?

    Ребят, привет! Столкнулся с приколюхой. Мне надо конвертировать строку, содержащую hex-значения, непосредственно в hex-формат в Python. Ну то есть, у меня есть строка '48656c6c6f', и я хочу её сразу же конвертировать в 'Hello'. Никак не могу до конца разобраться с этим. Может, кто-то из вас прошарен в этой теме? Подскажите, как сделать это максимально просто и элегантно?



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Здарова! Тебе проще всего воспользоватся встроенной функцией bytes.fromhex(), а потом декодировать. Вот так:

    Программный код:
    hex_str "48656c6c6f"
    byte_seq bytes.fromhex(hex_str)
    result byte_seq.decode("utf-8")
    print(
    result)  # Вывод: Hello 
    Элегантно и понятно, имхо.

  4. Цитата Сообщение от Александр Павлович
    Здарова! Тебе проще всего воспользоватся встроенной функцией bytes.fromhex(), а потом декодировать. Вот так:

    Программный код:
    hex_str "48656c6c6f"
    byte_seq bytes.fromhex(hex_str)
    result byte_seq.decode("utf-8")
    print(
    result)  # Вывод: Hello 
    Элегантно и понятно, имхо.
    Окей, вроде ж понятно, но что если у меня не 'utf-8', а другой encoding?

  5. Привет! Вот универсальный способ без всяких костылей:

    Программный код:
    def hex_to_str(hex_str):
        return 
    bytes.fromhex(hex_str).decode("utf-8")

    hex_str "48656c6c6f"
    print(hex_to_str(hex_str))  # Вывод: Hello 
    Еще проще уже некуда, или я не прав?

  6. Цитата Сообщение от TrollBridge
    Привет! Вот универсальный способ без всяких костылей:

    Программный код:
    def hex_to_str(hex_str):
        return 
    bytes.fromhex(hex_str).decode("utf-8")

    hex_str "48656c6c6f"
    print(hex_to_str(hex_str))  # Вывод: Hello 
    Еще проще уже некуда, или я не прав?
    Ништяк! Прям функция на все случаи А есть еще какие-нибудь плюшки?

  7. А вот ещё вариант с использованием binascii:

    Программный код:
    import binascii

    hex_str 
    "48656c6c6f"
    bytes_str binascii.unhexlify(hex_str)
    result bytes_str.decode("utf-8")
    print(
    result)  # Вывод: Hello 
    binascii, кстати, мощная штука для манипуляций с бинарными данными!

  8. Цитата Сообщение от Лилия
    А вот ещё вариант с использованием binascii:

    Программный код:
    import binascii

    hex_str 
    "48656c6c6f"
    bytes_str binascii.unhexlify(hex_str)
    result bytes_str.decode("utf-8")
    print(
    result)  # Вывод: Hello 
    binascii, кстати, мощная штука для манипуляций с бинарными данными!
    О, а вот это уже по интереснее вариант... Как ни крути, binascii рулит!

  9. Ну а если захочешь еще чуть-чуть кода для практики, вот тебе пару строк на закуску:

    Программный код:
    hex_str "48656c6c6f"
    result "".join([chr(int(hex_str[i:i+2], 16)) for i in range(0len(hex_str), 2)])
    print(
    result)  # Вывод: Hello 
    Чисто чтобы погонять свои способности в List Comprension ?

  10. Цитата Сообщение от PhoenixRebirth
    Ну а если захочешь еще чуть-чуть кода для практики, вот тебе пару строк на закуску:

    Программный код:
    hex_str "48656c6c6f"
    result "".join([chr(int(hex_str[i:i+2], 16)) for i in range(0len(hex_str), 2)])
    print(
    result)  # Вывод: Hello 
    Чисто чтобы погонять свои способности в List Comprension ?
    Хаха, да, List Comprension — это мощная тема! Но чёт замудрёно для простого конверта.

Страница 1 из 2 12 ПоследняяПоследняя