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

Шестнадцатеричные строки имеют префикс «0x» . В Python, если у вас есть префикс «0x» и допустимая строка, используйте метод int (string, 0) для получения целого числа. 0 предоставляется для указания функции интерпретировать основание из префикса.

Python String to Hex

Для преобразования Python String в шестнадцатеричный используйте встроенный метод hex (). Метод hex () преобразует целое число в соответствующую шестнадцатеричную строку. Используйте функцию int (x, base) с 16 в качестве основы для преобразования строки в целое число.

Синтаксис hex ()

hex(n)

Метод hex () принимает один обязательный аргумент — n: целое число.

Возвращаемое значение

Метод hex () преобразует целое число в соответствующее шестнадцатеричное число в строковой форме и возвращает его. Возвращаемая шестнадцатеричная строка начинается с префикса 0x, что указывает на ее шестнадцатеричную форму.

Пример преобразования строки в шестнадцатеричный

 hex_string = "0xFF" an_integer = int (hex_string, 16) hex_value = hex (an_integer) print (hex_value) 

Вывод

 0xff 

Из вывода видно, что возвращаемая строка является шестнадцатеричной, поскольку начинается с 0xff .

Python hex () с объектом

Мы также можем преобразовать объект Python в хэш значение с помощью метода hex (). Создайте собственный класс и определите функцию __ index __ () , чтобы использовать с ним функцию hex ().

 class То же: no = 0 def __index __ (self): print ('__ index__ функция вызвана') return self.nodt = Ditto () dt.no = 19print (hex (dt)) 

Вывод

 __ index__, вызываемая функция 0x13 

Шестнадцатеричное представление числа с плавающей запятой

Используйте метод float.index () для преобразования числа с плавающей запятой в шестнадцатеричный.

 number = 0.0print (number, "in hex =  ", float.hex (число)) число = 19,5 print (число," in hex = ", float.hex (число)) 

Вывод

 0.0 в шестнадцатеричном формате = 0x0.0p + 019.5 в шестнадцатеричном формате = 0x1.3800000000000p + 4 

Ошибки и исключения для преобразования строки в шестнадцатеричный.

Функция hex () выдает ошибку TypeError , когда в качестве параметров передается что-либо, кроме констант целочисленного типа.

 hex_string =  "0xFF" шестнадцатеричное_значение = шестнадцатеричное (шестнадцатеричная_строка) pri  nt (hex_value) 

Вывод

 TypeError: объект 'str' не может быть интерпретирован как целое число 

Вы можете видеть, что функция hex () всегда ожидает целое число, но у нее есть строка, и поэтому она выдает ошибку. Метод hex () используется во всех стандартных преобразованиях, таких как преобразование шестнадцатеричного числа в десятичное , шестнадцатеричное в восьмеричное и шестнадцатеричное в двоичное

Если вы хотите преобразовать шестнадцатеричную строку (например, 0xAD4) в шестнадцатеричное число, используйте функцию hex ().

Сначала используйте функцию int () со вторым параметром 16, чтобы преобразовать шестнадцатеричную строку в целое число.

Затем используйте функцию hex (), чтобы преобразовать его обратно в шестнадцатеричное число.

См. также

Python oct ()

Формат Python

f-строки Python

Оцените статью
nanomode.ru
Добавить комментарий