[Python-Dev] TextIO seek and tell cookies (original) (raw)
Random832 random832 at fastmail.com
Mon Sep 26 10:32:53 EDT 2016
- Previous message (by thread): [Python-Dev] TextIO seek and tell cookies
- Next message (by thread): [Python-Dev] TextIO seek and tell cookies
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Mon, Sep 26, 2016, at 05:30, Ben Leslie wrote:
I think the case of JSON or SQL database is even more important though.
tell/seek can return 129-bit integers (maybe even more? my maths might be off here). The very large integers that can be returned by tell() will break serialization to JSON, and storing in a SQL database (at least for most database types). What is the value of comparing these to plain integers? Unless you happen to know the magic encoding it isn't going to be very useful I think?
I assume the value is that in the circumstances in which all of the flags and other bits are zero, they can be used as offsets in precisely the way that you used them. It may also be possible that in some cases where they are not zero, doing arithmetic with them is still "safe" since the real offset is still in the low-order bits. I don't know if those circumstances are predictable enough for it to be worthwhile. Changing it would obviously break code that does this (unless, perhaps, it were changed to be a class with arithmetic operators), the question is whether such code "deserves" to be broken.
In my own tests, even a UTF-8-sig file with DOS line endings "worked". Does anyone have information about what circumstances can reliably cause tell() to return values that are not simple integers? Maybe it has something to do with working with stateful encodings like iso-2022 or UTF-7?
What was the situation that caused your problem?
- Previous message (by thread): [Python-Dev] TextIO seek and tell cookies
- Next message (by thread): [Python-Dev] TextIO seek and tell cookies
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]