코덱 등록소와 지원 함수¶
-
int
PyCodec_Register
(PyObject *search_function)¶ 새로운 코덱 검색 함수를 등록합니다.
부작용으로, 아직 로드되지 않았다면,
encodings
패키지를 로드하여 항상 검색 함수 목록의 첫 번째 항목이 되도록 합니다.
-
int
PyCodec_KnownEncoding
(const char *encoding)¶ 지정된 encoding에 대해 등록된 코덱이 있는지에 따라
1
이나0
을 반환합니다. 이 함수는 항상 성공합니다.
-
PyObject*
PyCodec_Encode
(PyObject *object, const char *encoding, const char *errors)¶ - Return value: New reference.
일반 코덱 기반 인코딩 API.
object 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 aLookupError
if no encoder can be found.
-
PyObject*
PyCodec_Decode
(PyObject *object, const char *encoding, const char *errors)¶ - Return value: New reference.
일반 코덱 기반 디코딩 API.
object 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 aLookupError
if no encoder can be found.
코덱 조회 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.
-
PyObject*
PyCodec_Encoder
(const char *encoding)¶ - Return value: New reference.
주어진 encoding에 대한 인코더 함수를 가져옵니다.
-
PyObject*
PyCodec_Decoder
(const char *encoding)¶ - Return value: New reference.
주어진 encoding에 대한 디코더 함수를 가져옵니다.
-
PyObject*
PyCodec_IncrementalEncoder
(const char *encoding, const char *errors)¶ - Return value: New reference.
지정된 encoding에 대한
IncrementalEncoder
객체를 가져옵니다.
-
PyObject*
PyCodec_IncrementalDecoder
(const char *encoding, const char *errors)¶ - Return value: New reference.
지정된 encoding에 대한
IncrementalDecoder
객체를 가져옵니다.
-
PyObject*
PyCodec_StreamReader
(const char *encoding, PyObject *stream, const char *errors)¶ - Return value: New reference.
지정된 encoding에 대한
StreamReader
팩토리 함수를 가져옵니다.
-
PyObject*
PyCodec_StreamWriter
(const char *encoding, PyObject *stream, const char *errors)¶ - Return value: New reference.
지정된 encoding에 대한
StreamWriter
팩토리 함수를 가져옵니다.
유니코드 인코딩 에러 처리기용 등록소 API¶
-
int
PyCodec_RegisterError
(const char *name, PyObject *error)¶ 지정된 name 으로 에러 처리 콜백 함수 error를 등록합니다. 코덱이 인코딩할 수 없는 문자/디코딩할 수 없는 바이트열을 발견하고, 인코드/디코드 함수를 호출할 때 name이 error 매개 변수로 지정되었을 때 이 콜백 함수를 호출합니다.
콜백은 하나의 인자로
UnicodeEncodeError
,UnicodeDecodeError
또는UnicodeTranslateError
의 인스턴스를 받아들이는데, 문제가 되는 문자나 바이트의 시퀀스와 이들의 원본 문자열에서의 오프셋에 대한 정보를 담고 있습니다 (이 정보를 추출하는 함수는 Unicode Exception Objects를 참조하세요). 콜백은 주어진 예외를 발생시키거나, 문제가 있는 시퀀스의 대체와 원래 문자열에서 인코딩/디코딩을 다시 시작해야 하는 오프셋을 제공하는 정수를 포함하는 두 항목 튜플을 반환해야 합니다.성공하면
0
을, 에러면-1
을 반환합니다.
-
PyObject*
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.
-
PyObject*
PyCodec_IgnoreErrors
(PyObject *exc)¶ - Return value: New reference.
잘못된 입력을 건너뛰고, 유니코드 에러를 무시합니다.
-
PyObject*
PyCodec_ReplaceErrors
(PyObject *exc)¶ - Return value: New reference.
유니코드 인코딩 에러를
?
나U+FFFD
로 치환합니다.
-
PyObject*
PyCodec_XMLCharRefReplaceErrors
(PyObject *exc)¶ - Return value: New reference.
유니코드 인코딩 에러를 XML 문자 참조로 치환합니다.