Python3 Crypto.Hash - дайджест SHA всегда начинается с двоичного 1

По умолчанию Flask использует Jinja2 в качестве механизма шаблона. См. Jinja Документация по дизайну шаблонов , как это делается.

2
задан Zehanort 18 March 2019 в 00:10
поделиться

1 ответ

Python по умолчанию не дополняет нулями перед двоичных чисел, поэтому первая цифра любого двоичного числа будет равна единице.

>>> bin(1)
'0b1'
>>> bin(2)
'0b10'
>>> bin(3)
'0b11'
>>> bin(8)
'0b1000'

Если вы хотите исправить с помощью двоичных строк, используйте форматирование строки

>>> "{:04b}".format(1)
'0001'
>>> "{:04b}".format(2)
'0010'
>>> "{:04b}".format(8)
'1000'
>>> "{:04b}".format(15)
'1111'

В противном случае просто используйте двоичный файл и (&), чтобы проверить, установлен ли конкретный бит.

>>> bool(1 & 0b1000)
False
>>> bool(3 & 0b1000)
False
>>> bool(8 & 0b1000)
True
>>> bool(15 & 0b1000)
True
0
ответ дан Peter Gibson 18 March 2019 в 00:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: