десятичное значение 33
карты в характер !
по стандарту ASCII, так что интерпретатор может показать его без помощи экранирующих коды:
>>> b'\x21' * 3
b'!!!'
При печати объекта байт, питон рассматривает его как последовательность символов (каждый символ сохраняется как байт, каждый байт обычно использует память из 8 бит, которая отображает в 2 значения шестнадцатеричных цифр, например 0x21 => 0b 0010 0001 => 33
), поэтому значения с соответствующими печатными символами ASCII показаны как их символы ASCII, а остальные представлены шестнадцатеричными al (в формате \xDD
).
Обратите внимание на восклицательный знак во втором примере. Посмотрите на его значение ASCII. –
Вы можете заставить его отображать все байты в шестнадцатеричном формате с символом «.» .join («\\ x {: 02}». (B) для b в (33) .to_bytes (2, «большой»)). – martineau