Message257688
| Author |
methane |
| Recipients |
ezio.melotti, methane, python-dev, r.david.murray, serhiy.storchaka, vstinner |
| Date |
2016年01月07日.13:50:12 |
| SpamBayes Score |
-1.0 |
| Marked as misclassified |
Yes |
| Message-id |
<1452174612.79.0.567859378376.issue24870@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
FYI, I found a workaround.
https://github.com/PyMySQL/PyMySQL/pull/409
_table = [chr(i) for i in range(128)] + [chr(i) for i in range(0xdc80, 0xdd00)]
def decode_surroundescape(s):
return s.decode('latin1').translate(_table)
In [15]: data = b'\xff' * 1024 * 1024
In [16]: data.decode('ascii', 'surrogateescape') == decode_surroundescape(data)
Out[16]: True
In [17]: %timeit data.decode('ascii', 'surrogateescape')
1 loops, best of 3: 394 ms per loop
In [18]: %timeit decode_surroundescape(data)
10 loops, best of 3: 40 ms per loop |
|