Mercurial > cpython-lru_cache-weakref
view Tools/unicode/comparecodecs.py @ 58689:514b56efd89a 3.1
Merged revisions 77962 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
................
r77962 | r.david.murray | 2010-02-04 11:41:57 -0500 (Thu, 04 Feb 2010) | 17 lines
Merged revisions 77943,77959-77960 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r77943 | r.david.murray | 2010-02-03 08:36:23 -0500 (Wed, 03 Feb 2010) | 2 lines
Explicitly mention the default value for formatdate's usegmt parameter.
........
r77959 | nick.coghlan | 2010-02-04 07:43:58 -0500 (Thu, 04 Feb 2010) | 1 line
Issue 6760: Clarify args handling for subprocess.Popen. Patch by Chris Rebert
........
r77960 | r.david.murray | 2010-02-04 11:33:31 -0500 (Thu, 04 Feb 2010) | 2 lines
Add Chris Rebert to ACKS for issue 6760 Popen doc improvements.
........
................
| author | R. David Murray <rdmurray@bitdance.com> |
|---|---|
| date | Thu, 04 Feb 2010 16:44:31 +0000 |
| parents | 63741c7521aa |
| children | fcfe324663a6 |
line wrap: on
line source
#!/usr/bin/env python """ Compare the output of two codecs. (c) Copyright 2005, Marc-Andre Lemburg (mal@lemburg.com). Licensed to PSF under a Contributor Agreement. """ import sys def compare_codecs(encoding1, encoding2): print('Comparing encoding/decoding of %r and %r' % (encoding1, encoding2)) mismatch = 0 # Check encoding for i in range(sys.maxunicode): u = chr(i) try: c1 = u.encode(encoding1) except UnicodeError as reason: c1 = '<undefined>' try: c2 = u.encode(encoding2) except UnicodeError as reason: c2 = '<undefined>' if c1 != c2: print(' * encoding mismatch for 0x%04X: %-14r != %r' % \ (i, c1, c2)) mismatch += 1 # Check decoding for i in range(256): c = chr(i) try: u1 = c.decode(encoding1) except UnicodeError: u1 = '<undefined>' try: u2 = c.decode(encoding2) except UnicodeError: u2 = '<undefined>' if u1 != u2: print(' * decoding mismatch for 0x%04X: %-14r != %r' % \ (i, u1, u2)) mismatch += 1 if mismatch: print() print('Found %i mismatches' % mismatch) else: print('-> Codecs are identical.') if __name__ == '__main__': compare_codecs(sys.argv[1], sys.argv[2])
