aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/cython/Cython/Includes/cpython/codecs.pxd
blob: dd57020bc115b3938d843319390301ab9b39d3d5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
cdef extern from "Python.h": 
 
    ########################################################################### 
    # Codec registry and support functions 
    ########################################################################### 
 
    int PyCodec_Register(object search_function) 
    # Register a new codec search function. 
 
    # As side effect, this tries to load the encodings package, if not yet 
    # done, to make sure that it is always first in the list of search 
    # functions. 
 
    int PyCodec_KnownEncoding(const char *encoding) 
    # Return 1 or 0 depending on whether there is a registered codec for the 
    # given encoding. This function always succeeds. 
 
    object PyCodec_Encode(object o, const char *encoding, const char *errors) 
    # Return value: New reference. 
    # Generic codec based encoding API. 
 
    # o is passed through the encoder function found for the given encoding 
    # using the error handling method defined by errors. errors may be NULL 
    # to use the default method defined for the codec. Raises a LookupError 
    # if no encoder can be found. 
 
    object PyCodec_Decode(object o, const char *encoding, const char *errors) 
    # Return value: New reference. 
    # Generic codec based decoding API. 
 
    # o is passed through the decoder function found for the given encoding 
    # using the error handling method defined by errors. errors may be NULL 
    # to use the default method defined for the codec. Raises a LookupError 
    # if no encoder can be found. 
 
 
    # Codec lookup API 
 
    # In the following functions, the encoding string is looked up converted 
    # to all lower-case characters, which makes encodings looked up through 
    # this mechanism effectively case-insensitive. If no codec is found, a 
    # KeyError is set and NULL returned. 
 
    object PyCodec_Encoder(const char *encoding) 
    # Return value: New reference. 
    # Get an encoder function for the given encoding. 
 
    object PyCodec_Decoder(const char *encoding) 
    # Return value: New reference. 
    # Get a decoder function for the given encoding. 
 
    object PyCodec_IncrementalEncoder(const char *encoding, const char *errors) 
    # Return value: New reference. 
    # Get an IncrementalEncoder object for the given encoding. 
 
    object PyCodec_IncrementalDecoder(const char *encoding, const char *errors) 
    # Return value: New reference. 
    # Get an IncrementalDecoder object for the given encoding. 
 
    object PyCodec_StreamReader(const char *encoding, object stream, const char *errors) 
    # Return value: New reference. 
    # Get a StreamReader factory function for the given encoding. 
 
    object PyCodec_StreamWriter(const char *encoding, object stream, const char *errors) 
    # Return value: New reference. 
    # Get a StreamWriter factory function for the given encoding. 
 
 
    # Registry API for Unicode encoding error handlers 
 
    int PyCodec_RegisterError(const char *name, object error) except? -1 
    # Register the error handling callback function error under the given 
    # name. This callback function will be called by a codec when it 
    # encounters unencodable characters/undecodable bytes and name is 
    # specified as the error parameter in the call to the encode/decode 
    # function. 
 
    # The callback gets a single argument, an instance of 
    # UnicodeEncodeError, UnicodeDecodeError or UnicodeTranslateError that 
    # holds information about the problematic sequence of characters or bytes 
    # and their offset in the original string (see Unicode Exception Objects 
    # for functions to extract this information). The callback must either 
    # raise the given exception, or return a two-item tuple containing the 
    # replacement for the problematic sequence, and an integer giving the 
    # offset in the original string at which encoding/decoding should be 
    # resumed. 
 
    # Return 0 on success, -1 on error. 
 
    object PyCodec_LookupError(const char *name) 
    # Return value: New reference. 
    # Lookup the error handling callback function registered under name. As a 
    # special case NULL can be passed, in which case the error handling 
    # callback for "strict" will be returned. 
 
    object PyCodec_StrictErrors(object exc) 
    # Return value: Always NULL. 
    # Raise exc as an exception. 
 
    object PyCodec_IgnoreErrors(object exc) 
    # Return value: New reference. 
    # Ignore the unicode error, skipping the faulty input. 
 
    object PyCodec_ReplaceErrors(object exc) 
    # Return value: New reference. 
    # Replace the unicode encode error with "?" or "U+FFFD". 
 
    object PyCodec_XMLCharRefReplaceErrors(object exc) 
    # Return value: New reference. 
    # Replace the unicode encode error with XML character references. 
 
    object PyCodec_BackslashReplaceErrors(object exc) 
    # Return value: New reference. 
    # Replace the unicode encode error with backslash escapes ("\x", "\u" 
    # and "\U"). 
 
    object PyCodec_NameReplaceErrors(object exc) 
    # Return value: New reference. 
    # Replace the unicode encode error with "\N{...}" escapes. 
 
    # New in version 3.5.