New submission from Alex Mohr <alexjm...@gmail.com>:
Instead they should request and take into consideration the buffer object's data format. For example, surely we don't want to treat floating point binary representations as string characters: >>> from array import array >>> a = array('f', [1.2, 2.3, 3.4]) >>> int(a) Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: invalid literal for int() with base 10: b'\x9a\x99\x99?33\x13@\x9a\x99Y@' It's even a little dangerous, since you can get "lucky" with certain binary representations: >>> a = array('I', [875770417, 875770420]) >>> int(a) 12344234 ---------- components: Interpreter Core messages: 376317 nosy: amohr priority: normal severity: normal status: open title: Builtins like int() and float() should not blindly treat buffer protocol bytes as string characters. type: behavior _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue41707> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com