Python 3.7 печать двоичной строки показывает странный символ - PullRequest
0 голосов
/ 24 апреля 2019

в python 3.7, когда я выполняю следующую инструкцию:

print(b'\x80\x51\x01\x00')

Я получаю

b'\x80Q\x01\x00'

Почему это так?

1 Ответ

1 голос
/ 24 апреля 2019

Двоичная строка в Python всегда начинается с b.

Q декодируется, потому что \ x51 или 0x51 в ascii - это Q.

Для того, чтобы напечатать двоичную строку, вам сначала нужночтобы декодировать его с помощью string.decode ():

print(b'\x51\x52\x53'.decode('ascii'))

В случае вашей строки ее нельзя декодировать как ASCII, поскольку 0x80 не является допустимым символом.(ASCII только увеличивается до 0x7F)

...