I believe at the time, the idea was trying to keep behaviour the same as _0.8_, but this wasn't possible in Python 3. I think however, that it would be better for Python 2 version to have the same behaviour as Python 3, as this keeps it consistent, and probably is the behaviour users would expect when specifying a encoding.