surrogateescape is recommended way to mix binary data in string protocol.
But surrogateescape is too slow and it cause usability problem.
One actual problem is: https://github.com/PyMySQL/PyMySQL/issues/366
surrogateescape is slow because errorhandler is called with UnicodeError object.
bs.decode('utf-8', 'surrogateescape') may produce len(bs)/2 error objects internally when bs is random bytes.
surrogateescape is used with ASCII and UTF-8 encoding in ordinal.
Specialized implementation can make it faster.
I want to Python 3.4 and Python 3.5 solve this issue since it's critical problem
for some people. |