]> granicus.if.org Git - python/commit
Update PyUnicode_DecodeUTF8 from RFC 2279 to RFC 3629.
authorEzio Melotti <ezio.melotti@gmail.com>
Thu, 1 Jul 2010 07:32:02 +0000 (07:32 +0000)
committerEzio Melotti <ezio.melotti@gmail.com>
Thu, 1 Jul 2010 07:32:02 +0000 (07:32 +0000)
commit57221d02bad3fff71b9abe7aa564352506c94514
tree2980078793efc178ce95a0b9aa81d35f82c962e6
parentead3c83ea956bebed675c6c02f398d21b2fbeb62
Update PyUnicode_DecodeUTF8 from RFC 2279 to RFC 3629.

1) #8271: when a byte sequence is invalid, only the start byte and all the
   valid continuation bytes are now replaced by U+FFFD, instead of replacing
   the number of bytes specified by the start byte.
   See http://www.unicode.org/versions/Unicode5.2.0/ch03.pdf (pages 94-95);
2) 5- and 6-bytes-long UTF-8 sequences are now considered invalid (no changes
   in behavior);
3) Change the error messages "unexpected code byte" to "invalid start byte"
   and "invalid data" to "invalid continuation byte";
4) Add an extensive set of tests in test_unicode;
5) Fix test_codeccallbacks because it was failing after this change.
Lib/test/test_codeccallbacks.py
Lib/test/test_unicode.py
Misc/NEWS
Objects/unicodeobject.c