<div dir="ltr"><div>Currently, __repr__ and __str__ representation of bytes is the same. Perhaps it is worth making them different, this will make it easier to visually perceive them as a container of integers from 0 to 255, <br>instead of a mixture of printable and non-printable ascii characters. It is proposed:<br><br>a) __str__ - leave unchanged<br>b) __repr__ - represent as sequence of escaped hex <br><br>>>> a = bytes([42,43,44,45,46])<br>>>> a    # Current<br>b'*+-./'<br>>>> a    # Proposed<br>b'\x2a\x2b\x2d\x2e\x2f'<br><br>As you can see, the second example is more easily perceived as a sequence, in which '\' is also perceived as ',' in list or tuple. In addition, 2020 is close, it allows the new Pythonistas not to take them as an ascii mixture strings.<br><br></div>With kind regards, -gdg<br></div>