• Kirill Smelkov's avatar
    Uniform UTF8-based approach to strings · 50b3808c
    Kirill Smelkov authored
    Context: together with Jérome we've been struggling with porting Zodbtools to
    Python3 for several years. Despite several incremental attempts[1,2,3]
    we are not there yet with the main difficulty being backward compatibility breakage
    that Python3 did for bytes and unicode. During my last trial this spring, after
    I've tried once again to finish this porting and could not reach satisfactory
    result, I've finally decided to do something about this at the root of the
    cause: at the level of strings - where backward compatibility was broken - with
    the idea to fix everything once and for all.
    
    In 2018 in "Python 3 Losses: Nexedi Perspective"[4] and associated "cost
    overview"[5] Jean-Paul highlighted the problem of strings backward
    compatibility breakage, that Python 3 did, as the major one.
    
    In 2019 we had some conversations with Jérome about this topic as well[6,7].
    
    In 2020 I've started to approach it with `b` and `u` that provide
    always-working conversion in between byte...
    50b3808c
__init__.py 14.9 KB