Estoy tratando de entender la forma en que Python muestra cadenas que representan datos binarios.Representación de cadena de Python de datos binarios
Aquí hay un ejemplo usando 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'
En el primer ejemplo de random_bytes
, después de cada \ x parece que hay valores en formato hexadecimal: fd a9 ser 87.
En el segundo ejemplo, sin embargo, no entiendo por qué se muestra '\r\x9eq\xce'
.
¿Por qué Python me muestra estos bytes aleatorios en esta representación particular? ¿Cómo debo interpretar '\r\x9eq\xce'
?