«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как преобразовать шестнадцатеричные строки в байты в Python?

Как преобразовать шестнадцатеричные строки в байты в Python?

Опубликовано 22 декабря 2024 г.
Просматривать:580

How to Convert Hexadecimal Strings to Bytes in Python?

Преобразование шестнадцатеричных строк в байты в Python

В Python преобразование шестнадцатеричных строк в байты является распространенной задачей. Шестнадцатеричные строки представляют двоичные данные в удобочитаемом формате. В этой статье будут рассмотрены различные методы эффективного выполнения такого преобразования.

Метод 1: использование bytearray.fromhex() (рекомендуется для Python 3 и 2.7)

bytearray.fromhex() напрямую преобразует шестнадцатеричное число строку в объект bytearray. Байтовый массив действует как изменяемый массив байтов.

hex_string = "deadbeef"
bytearray_object = bytearray.fromhex(hex_string)

Этот метод обеспечивает удобное решение для Python 2.7 и Python 3.

Метод 2: использование bytes.fromhex() (только для Python 3)

Подобно bytearray.fromhex(), Python 3 предлагает bytes.fromhex() для создания объекта bytes непосредственно из шестнадцатеричной строки. Объект bytes является неизменяемым и представляет собой последовательность неизменяемых байтов.

hex_string = "deadbeef"
bytes_object = bytes.fromhex(hex_string)

Этот метод рекомендуется для Python 3, поскольку он возвращает более подходящий тип.

Метод 3: использование декодирования строк (только Python 2.7)

В Python 2.7 вы можете декодировать шестнадцатеричную строку в строку, используя метод decode() с "шестнадцатеричный" аргумент.

hex_string = "deadbeef"
string_data = hex_string.decode("hex")

Хотя этот метод не создает объект bytearray или bytes, он обеспечивает обходной путь для старых версий Python.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3