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.

Author hyoxt121
Recipients hyoxt121
Date 2020-10-27.10:10:42
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1603793442.12.0.906245378018.issue42168@roundup.psfhosted.org>
In-reply-to
Content
Hi! In order to deserialize bytes object, we use pickle.loads():

import pickle
import numpy as np
pickle.loads(np.float64(0.34103))

and the expected result is like below (because np.float64(0.34103) is not bytes objects, appropriate errors are expected)
---------------------------------------------------------------------------
UnpicklingError Traceback (most recent call last)
<ipython-input-19-5c07606a60f1> in <module>
----> 1 pickle.loads(np.float64(0.34103))

UnpicklingError: invalid load key, '\xc1'.


Here we have some questions that some numbers (it is rare) like 0.34104 prints the following result without errors.
pickle.loads(np.float64(0.34104))
=> True

This occurs only when the converted bytes start with b'\x88 (for example 0.04263, 0.08526, 0.11651 ...)
np.float64(0.34104).tobytes()
=> b'\x88.\xa8o\x99\xd3\xd5?'
Can anyone answer whether this issue is Python bugs?

Any answer will be highly appreciated.
History
Date User Action Args
2020-10-27 10:10:42hyoxt121setrecipients: + hyoxt121
2020-10-27 10:10:42hyoxt121setmessageid: <1603793442.12.0.906245378018.issue42168@roundup.psfhosted.org>
2020-10-27 10:10:42hyoxt121linkissue42168 messages
2020-10-27 10:10:42hyoxt121create