Lines Matching refs:encoding
88 char *encoding;
96 encoding = PyMem_Malloc(len + 1);
97 if (encoding == NULL)
100 if (!_Py_normalize_encoding(string, encoding, len + 1))
103 PyMem_Free(encoding);
107 v = PyUnicode_FromString(encoding);
108 PyMem_Free(encoding);
112 /* Lookup the given encoding and return a tuple providing the codec
115 The encoding string is looked up converted to all lower-case
127 PyObject *_PyCodec_Lookup(const char *encoding)
129 if (encoding == NULL) {
139 /* Convert the encoding to a normalized Python string: all
142 PyObject *v = normalizestring(encoding);
166 "can't find encoding");
195 "unknown encoding: %s", encoding);
212 /* Codec registry encoding check API. */
214 int PyCodec_KnownEncoding(const char *encoding)
218 codecs = _PyCodec_Lookup(encoding);
256 PyObject *codec_getitem(const char *encoding, int index)
261 codecs = _PyCodec_Lookup(encoding);
290 PyObject *codec_getincrementalcodec(const char *encoding,
296 codec_info = _PyCodec_Lookup(encoding);
307 PyObject *codec_getstreamcodec(const char *encoding,
314 codecs = _PyCodec_Lookup(encoding);
351 PyObject *PyCodec_Encoder(const char *encoding)
353 return codec_getitem(encoding, 0);
356 PyObject *PyCodec_Decoder(const char *encoding)
358 return codec_getitem(encoding, 1);
361 PyObject *PyCodec_IncrementalEncoder(const char *encoding,
364 return codec_getincrementalcodec(encoding, errors, "incrementalencoder");
367 PyObject *PyCodec_IncrementalDecoder(const char *encoding,
370 return codec_getincrementalcodec(encoding, errors, "incrementaldecoder");
373 PyObject *PyCodec_StreamReader(const char *encoding,
377 return codec_getstreamcodec(encoding, stream, errors, 2);
380 PyObject *PyCodec_StreamWriter(const char *encoding,
384 return codec_getstreamcodec(encoding, stream, errors, 3);
393 const char *encoding)
400 operation, encoding);
403 /* Encode an object (e.g. a Unicode object) using the given encoding
411 const char *encoding,
423 wrap_codec_error("encoding", encoding);
449 /* Decode an object (usually a Python string) using the given encoding
457 const char *encoding,
469 wrap_codec_error("decoding", encoding);
494 /* Generic encoding/decoding API */
496 const char *encoding,
501 encoder = PyCodec_Encoder(encoding);
505 return _PyCodec_EncodeInternal(object, encoder, encoding, errors);
509 const char *encoding,
514 decoder = PyCodec_Decoder(encoding);
518 return _PyCodec_DecodeInternal(object, decoder, encoding, errors);
521 /* Text encoding/decoding API */
522 PyObject * _PyCodec_LookupTextEncoding(const char *encoding,
529 codec = _PyCodec_Lookup(encoding);
534 * encoding, and the same for anything lacking the private
549 "'%.400s' is not a text encoding; "
551 encoding, alternate_command);
557 /* This appears to be a valid text encoding */
563 PyObject *codec_getitem_checked(const char *encoding,
570 codec = _PyCodec_LookupTextEncoding(encoding, alternate_command);
580 static PyObject * _PyCodec_TextEncoder(const char *encoding)
582 return codec_getitem_checked(encoding, "codecs.encode()", 0);
585 static PyObject * _PyCodec_TextDecoder(const char *encoding)
587 return codec_getitem_checked(encoding, "codecs.decode()", 1);
591 const char *encoding,
596 encoder = _PyCodec_TextEncoder(encoding);
600 return _PyCodec_EncodeInternal(object, encoder, encoding, errors);
604 const char *encoding,
609 decoder = _PyCodec_TextDecoder(encoding);
613 return _PyCodec_DecodeInternal(object, decoder, encoding, errors);
637 the error handling callback for strict encoding will be returned. */
1061 get_standard_encoding(const char *encoding, int *bytelength)
1063 if (Py_TOLOWER(encoding[0]) == 'u' &&
1064 Py_TOLOWER(encoding[1]) == 't' &&
1065 Py_TOLOWER(encoding[2]) == 'f') {
1066 encoding += 3;
1067 if (*encoding == '-' || *encoding == '_' )
1068 encoding++;
1069 if (encoding[0] == '8' && encoding[1] == '\0') {
1073 else if (encoding[0] == '1' && encoding[1] == '6') {
1074 encoding += 2;
1076 if (*encoding == '\0') {
1083 if (*encoding == '-' || *encoding == '_' )
1084 encoding++;
1085 if (Py_TOLOWER(encoding[1]) == 'e' && encoding[2] == '\0') {
1086 if (Py_TOLOWER(encoding[0]) == 'b')
1088 if (Py_TOLOWER(encoding[0]) == 'l')
1092 else if (encoding[0] == '3' && encoding[1] == '2') {
1093 encoding += 2;
1095 if (*encoding == '\0') {
1102 if (*encoding == '-' || *encoding == '_' )
1103 encoding++;
1104 if (Py_TOLOWER(encoding[1]) == 'e' && encoding[2] == '\0') {
1105 if (Py_TOLOWER(encoding[0]) == 'b')
1107 if (Py_TOLOWER(encoding[0]) == 'l')
1112 else if (strcmp(encoding, "CP_UTF8") == 0) {
1127 const char *encoding;
1147 if (!(encoding = PyUnicode_AsUTF8(encode))) {
1152 code = get_standard_encoding(encoding, &bytelength);
1226 if (!(encoding = PyUnicode_AsUTF8(encode))) {
1231 code = get_standard_encoding(encoding, &bytelength);