mirror of
https://github.com/python/cpython.git
synced 2025-08-31 05:58:33 +00:00
Move the codec decode type checks to bytes/bytearray.decode().
Use faster PyUnicode_FromEncodedObject() for bytes/bytearray.decode(). Add new PyCodec_KnownEncoding() API. Add new PyUnicode_AsDecodedUnicode() and PyUnicode_AsEncodedUnicode() APIs. Add missing PyUnicode_AsDecodedObject() to unicodeobject.h Fix punicode codec to also work on memoryviews.
This commit is contained in:
parent
4efb518185
commit
b2750b5d33
8 changed files with 171 additions and 41 deletions
|
@ -2713,7 +2713,7 @@ string_decode(PyObject *self, PyObject *args)
|
|||
return NULL;
|
||||
if (encoding == NULL)
|
||||
encoding = PyUnicode_GetDefaultEncoding();
|
||||
return PyCodec_Decode(self, encoding, errors);
|
||||
return PyUnicode_FromEncodedObject(self, encoding, errors);
|
||||
}
|
||||
|
||||
|
||||
|
@ -2899,7 +2899,7 @@ string_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
|
|||
"string argument without an encoding");
|
||||
return NULL;
|
||||
}
|
||||
new = PyCodec_Encode(x, encoding, errors);
|
||||
new = PyUnicode_AsEncodedString(x, encoding, errors);
|
||||
if (new == NULL)
|
||||
return NULL;
|
||||
assert(PyBytes_Check(new));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue