Я пытаюсь понять, как Python отображает строки, представляющие двоичные данные.Строковое представление Python двоичных данных
Ниже приведен пример с использованием os.urandom
In [1]: random_bytes = os.urandom(4)
In [2]: random_bytes
Out[2]: '\xfd\xa9\xbe\x87'
In [3]: random_bytes = os.urandom(4)
In [4]: random_bytes
Out[4]: '\r\x9eq\xce'
В первом примере random_bytes
, после каждого \ х существует, как представляется, значение в шестнадцатеричной форме: FD а9 будет 87.
Во втором примере, однако я не понимаю, почему отображается '\r\x9eq\xce'
.
Почему Python показывает мне эти случайные байты в этом конкретном представлении? Как следует интерпретировать '\r\x9eq\xce'
?