From 57b93ad56d570c27bd3de3820b996352121c18e2 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Tue, 8 May 2007 19:09:34 +0000 Subject: [PATCH] repr(b"\0") should return b"\x00", not the (unusual) b"\0". --- Lib/test/test_bytes.py | 5 +++-- Objects/bytesobject.c | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py index 102eb46528..ded049100e 100644 --- a/Lib/test/test_bytes.py +++ b/Lib/test/test_bytes.py @@ -73,8 +73,9 @@ class BytesTest(unittest.TestCase): def test_repr(self): self.assertEqual(repr(bytes()), "b''") - self.assertEqual(repr(bytes([0])), "b'\\0'") - self.assertEqual(repr(bytes([0, 1, 254, 255])), "b'\\0\\x01\\xfe\\xff'") + self.assertEqual(repr(bytes([0])), "b'\\x00'") + self.assertEqual(repr(bytes([0, 1, 254, 255])), + "b'\\x00\\x01\\xfe\\xff'") self.assertEqual(repr(bytes('abc')), "b'abc'") self.assertEqual(repr(bytes("'")), "b'\\''") diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c index cb830e3cdb..3a707ac765 100644 --- a/Objects/bytesobject.c +++ b/Objects/bytesobject.c @@ -849,7 +849,7 @@ bytes_repr(PyBytesObject *self) else if (c == '\r') *p++ = '\\', *p++ = 'r'; else if (c == 0) - *p++ = '\\', *p++ = '0'; + *p++ = '\\', *p++ = 'x', *p++ = '0', *p++ = '0'; else if (c < ' ' || c >= 0x7f) { /* For performance, we don't want to call PyOS_snprintf here (extra layers of -- 2.50.1