新聞中心
編解碼器注冊(cè)與支持功能
int PyCodec_Register(PyObject *search_function)

目前累計(jì)服務(wù)客戶近1000家,積累了豐富的產(chǎn)品開發(fā)及服務(wù)經(jīng)驗(yàn)。以網(wǎng)站設(shè)計(jì)水平和技術(shù)實(shí)力,樹立企業(yè)形象,為客戶提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)、網(wǎng)絡(luò)營(yíng)銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。創(chuàng)新互聯(lián)公司始終以務(wù)實(shí)、誠(chéng)信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過對(duì)領(lǐng)先技術(shù)的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究、對(duì)客戶形象的視覺傳遞、對(duì)應(yīng)用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。
Part of the Stable ABI.
注冊(cè)一個(gè)新的編解碼器搜索函數(shù)。
作為副作用,其嘗試加載 encodings 包,如果尚未完成,請(qǐng)確保它始終位于搜索函數(shù)列表的第一位。
int PyCodec_Unregister(PyObject *search_function)
Part of the Stable ABI since version 3.10.
注銷一個(gè)編解碼器搜索函數(shù)并清空注冊(cè)表緩存。 如果指定搜索函數(shù)未被注冊(cè),則不做任何操作。 成功時(shí)返回 0。 出錯(cuò)時(shí)引發(fā)一個(gè)異常并返回 -1。
3.10 新版功能.
int PyCodec_KnownEncoding(const char *encoding)
Part of the Stable ABI.
根據(jù)注冊(cè)的給定 encoding 的編解碼器是否已存在而返回 1 或 0。此函數(shù)總能成功。
PyObject *PyCodec_Encode(PyObject *object, const char *encoding, const char *errors)
Return value: New reference. Part of the Stable ABI.
泛型編解碼器基本編碼 API。
object 使用由 errors 所定義的錯(cuò)誤處理方法傳遞給定 encoding 的編碼器函數(shù)。 errors 可以為 NULL 表示使用為編碼器所定義的默認(rèn)方法。 如果找不到編碼器則會(huì)引發(fā) LookupError。
PyObject *PyCodec_Decode(PyObject *object, const char *encoding, const char *errors)
Return value: New reference. Part of the Stable ABI.
泛型編解碼器基本解碼 API。
object 使用由 errors 所定義的錯(cuò)誤處理方法傳遞給定 encoding 的解碼器函數(shù)。 errors 可以為 NULL 表示使用為編解碼器所定義的默認(rèn)方法。 如果找不到編解碼器則會(huì)引發(fā) LookupError。
Codec 查找API
在下列函數(shù)中,encoding 字符串會(huì)被查找并轉(zhuǎn)換為小寫字母形式,這使得通過此機(jī)制查找編碼格式實(shí)際上對(duì)大小寫不敏感。 如果未找到任何編解碼器,則將設(shè)置 KeyError 并返回 NULL。
PyObject *PyCodec_Encoder(const char *encoding)
Return value: New reference. Part of the Stable ABI.
為給定的 encoding 獲取一個(gè)編碼器函數(shù)。
PyObject *PyCodec_Decoder(const char *encoding)
Return value: New reference. Part of the Stable ABI.
為給定的 encoding 獲取一個(gè)解碼器函數(shù)。
PyObject *PyCodec_IncrementalEncoder(const char *encoding, const char *errors)
Return value: New reference. Part of the Stable ABI.
為給定的 encoding 獲取一個(gè) IncrementalEncoder 對(duì)象。
PyObject *PyCodec_IncrementalDecoder(const char *encoding, const char *errors)
Return value: New reference. Part of the Stable ABI.
為給定的 encoding 獲取一個(gè) IncrementalDecoder 對(duì)象。
PyObject *PyCodec_StreamReader(const char *encoding, PyObject *stream, const char *errors)
Return value: New reference. Part of the Stable ABI.
為給定的 encoding 獲取一個(gè) StreamReader 工廠函數(shù)。
PyObject *PyCodec_StreamWriter(const char *encoding, PyObject *stream, const char *errors)
Return value: New reference. Part of the Stable ABI.
為給定的 encoding 獲取一個(gè) StreamWriter 工廠函數(shù)。
用于Unicode編碼錯(cuò)誤處理程序的注冊(cè)表API
int PyCodec_RegisterError(const char *name, PyObject *error)
Part of the Stable ABI.
在給定的 name 之下注冊(cè)錯(cuò)誤處理回調(diào)函數(shù) error。 該回調(diào)函數(shù)將在一個(gè)編解碼器遇到無法編碼的字符/無法解碼的字節(jié)數(shù)據(jù)并且 name 被指定為 encode/decode 函數(shù)調(diào)用的 error 形參時(shí)由該編解碼器來調(diào)用。
該回調(diào)函數(shù)會(huì)接受一個(gè) UnicodeEncodeError, UnicodeDecodeError 或 UnicodeTranslateError 的實(shí)例作為單獨(dú)參數(shù),其中包含關(guān)于有問題字符或字節(jié)序列及其在原始序列的偏移量信息(請(qǐng)參閱 Unicode 異常對(duì)象 了解提取此信息的函數(shù)詳情)。 該回調(diào)函數(shù)必須引發(fā)給定的異常,或者返回一個(gè)包含有問題序列及相應(yīng)替換序列的二元組,以及一個(gè)表示偏移量的整數(shù),該整數(shù)指明應(yīng)在什么位置上恢復(fù)編碼/解碼操作。
成功則返回``0`` ,失敗則返回``-1``
PyObject *PyCodec_LookupError(const char *name)
Return value: New reference. Part of the Stable ABI.
查找在 name 之下注冊(cè)的錯(cuò)誤處理回調(diào)函數(shù)。 作為特例還可以傳入 NULL,在此情況下將返回針對(duì) “strict” 的錯(cuò)誤處理回調(diào)函數(shù)。
PyObject *PyCodec_StrictErrors(PyObject *exc)
Return value: Always NULL. Part of the Stable ABI.
引發(fā) exc 作為異常。
PyObject *PyCodec_IgnoreErrors(PyObject *exc)
Return value: New reference. Part of the Stable ABI.
忽略 unicode 錯(cuò)誤,跳過錯(cuò)誤的輸入。
PyObject *PyCodec_ReplaceErrors(PyObject *exc)
Return value: New reference. Part of the Stable ABI.
使用 ? 或 U+FFFD 替換 unicode 編碼錯(cuò)誤。
PyObject *PyCodec_XMLCharRefReplaceErrors(PyObject *exc)
Return value: New reference. Part of the Stable ABI.
使用 XML 字符引用替換 unicode 編碼錯(cuò)誤。
PyObject *PyCodec_BackslashReplaceErrors(PyObject *exc)
Return value: New reference. Part of the Stable ABI.
使用反斜杠轉(zhuǎn)義符 (\x, \u 和 \U) 替換 unicode 編碼錯(cuò)誤。
PyObject *PyCodec_NameReplaceErrors(PyObject *exc)
Return value: New reference. Part of the Stable ABI since version 3.7.
使用 \N{...} 轉(zhuǎn)義符替換 unicode 編碼錯(cuò)誤。
3.5 新版功能.
網(wǎng)頁題目:創(chuàng)新互聯(lián)Python教程:編解碼器注冊(cè)與支持功能
標(biāo)題網(wǎng)址:http://fisionsoft.com.cn/article/djssigs.html


咨詢
建站咨詢
