2016-06-22 2 views
0
data = "000000000000000117c80378b8da0e33559b5997f2ad55e2f7d18ec1975b9717" 
result1 = data.decode('hex')[::-1] 
  1. Шестнадцатиричные данные декодируются в десятичную системе, которая 6,860,217,587,554,922,525,607,992,740,653,361,396,256,930,700,588,249,487,127
  2. Затем десятичное число 6,860,217,587,554,922,525,607,992,740,653,361,396,256,930,700,588,249,487,127 преобразуются в биты и обращенный его заказ (чуть-Endian) и хранящийся в переменной result1 как BitArray?

Это что именно происходит с этим кодом или я что-то не понял? Значит, переменная result1 является bitarray?Правильно ли работает этот код?

Если это целочисленная переменная, то как она может содержать такое длинное десятичное значение?

ответ

0

Strings in python объявлены с использованием двойных или одинарных кавычек, поэтому переменная данные содержит строку. Вы можете проверить тип переменной непосредственно в питоне:

data = "000000000000000117c80378b8da0e33559b5997f2ad55e2f7d18ec1975b9717" 
type(data) 

, который выводит

str 

означает, что переменная является строкой. При вызове функции декодирования («шестигранной») на строке вы получите другую строку:

data.decode('hex') 
'\x00\x00\x00\x00\x00\x00\x00\x01\x17\xc8\x03x\xb8\xda\x0e3U\x9bY\x97\xf2\xadU\xe2\xf7\xd1\x8e\xc1\x97[\x97\x17' 

Каждый символ в исходной строке интерпретируется как шестнадцатеричное число, и каждый пар шестнадцатеричных чисел - E.S. «17» - преобразуется в шестнадцатеричный символ, используя escape-последовательность \ x - становясь «\ x17».

Когда вы пишете «\ x41» вы в основном говорить питону интерпретировать 41 как единый ASCII символ которого шестнадцатеричное представление 41.

ASCII table содержит шестнадцатеричные, десятичные и восьмеричные значения, связанные с символами ASCII.

Если вы пытаетесь, например

"48454C4C4F".decode('hex') 

вы получите строку "HELLO"

Наконец, когда вы используете [:: - 1] на шнурке сторнировании его:

"48454C4C4F".decode('hex')[::-1] 

производит строку «OLLEH»

Подробнее о символах эвакуации, читаемых python documentation.

Смежные вопросы