This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: doc: clarify that struct.pack_into writes 0x00 for pad bytes
Type: behavior Stage: patch review
Components: Documentation Versions: Python 3.11
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: docs@python Nosy List: DonnaDia, bsder, docs@python, komugi, r.david.murray
Priority: normal Keywords: easy, patch

Created on 2014-02-28 09:17 by bsder, last changed 2022-04-11 14:57 by admin.

Pull Requests
URL Status Linked Edit
PR 28047 open DonnaDia, 2021-08-29 18:43
Messages (4)
msg212416 - (view) Author: Andrew P. Lentvorski, Jr. (bsder) Date: 2014-02-28 09:17
This code did something unexpected to me:
>>> a = bytearray('1234')
>>> a
bytearray(b'1234')
>>> struct.pack_into('xBxB', a, 0, 0x59, 0x5A)
>>> a
bytearray(b'\x00Y\x00Z')


The unexpected part was that the 'x' pad byte formatter actually *overwrote* the bytes to 0 rather than leaving them alone.

Not necessarily a bug, but the fact that the pad byte writes 0x00 rather than being untouched/ignored should be documented.
msg212433 - (view) Author: R. David Murray (r.david.murray) * (Python committer) Date: 2014-02-28 14:07
Contrawise, I would have found it very surprising if it had not padded with null bytes, but yes, the docs could be explicit about it by saying that 'x' padding means inserting null bytes.
msg400554 - (view) Author: Diana (DonnaDia) * Date: 2021-08-29 18:37
I'm working on this
msg403526 - (view) Author: komugi (komugi) Date: 2021-10-09 09:20
The PR is stale. Can I work on it ?
History
Date User Action Args
2022-04-11 14:57:59adminsetgithub: 65002
2021-10-09 09:20:20komugisetnosy: + komugi
messages: + msg403526
2021-08-29 18:43:09DonnaDiasetkeywords: + patch
stage: patch review
pull_requests: + pull_request26493
2021-08-29 18:37:37DonnaDiasetnosy: + DonnaDia
messages: + msg400554
2021-06-18 09:51:08iritkatrielsettitle: struct.pack_into writes 0x00 for pad bytes -> doc: clarify that struct.pack_into writes 0x00 for pad bytes
nosy: + docs@python

assignee: docs@python
versions: + Python 3.11, - Python 2.7
components: + Documentation, - Interpreter Core
keywords: + easy
2014-02-28 14:07:44r.david.murraysetnosy: + r.david.murray
messages: + msg212433
2014-02-28 09:17:29bsdercreate