新聞中心
bytes 對象
這些函數(shù)在期望附帶一個字節(jié)串形參但卻附帶了一個非字節(jié)串形參被調(diào)用時會引發(fā) TypeError。

高郵ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
type PyBytesObject
這種 PyObject 的子類型表示一個 python 字節(jié)對象。
PyTypeObject PyBytes_Type
Part of the Stable ABI.
PyTypeObject 的實例代表一個 Python 字節(jié)類型,在 Python 層面它與 bytes 是相同的對象。
int PyBytes_Check(PyObject *o)
如果對象 o 是一個 bytes 對象或者 bytes 類型的子類型的實例則返回真值。 此函數(shù)總是會成功執(zhí)行。
int PyBytes_CheckExact(PyObject *o)
如果對象 o 是一個 bytes 對象但不是 bytes 類型的子類型的實例則返回真值。 此函數(shù)總是會成功執(zhí)行。
PyObject *PyBytes_FromString(const char *v)
Return value: New reference. Part of the Stable ABI.
成功時返回一個以字符串 v 的副本為值的新字節(jié)串對象,失敗時返回 NULL。 形參 v 不可為 NULL;它不會被檢查。
PyObject *PyBytes_FromStringAndSize(const char *v, Py_ssize_t len)
Return value: New reference. Part of the Stable ABI.
成功時返回一個以字符串 v 的副本為值且長度為 len 的新字節(jié)串對象,失敗時返回 NULL。 如果 v 為 NULL,則不初始化字節(jié)串對象的內(nèi)容。
PyObject *PyBytes_FromFormat(const char *format, …)
Return value: New reference. Part of the Stable ABI.
接受一個 C printf() 風格的 format 字符串和可變數(shù)量的參數(shù),計算結(jié)果 Python 字節(jié)串對象的大小并返回參數(shù)值經(jīng)格式化后的字節(jié)串對象。 可變數(shù)量的參數(shù)必須均為 C 類型并且必須恰好與 format 字符串中的格式字符相對應。 允許使用下列格式字符串:
|
格式字符 |
類型 |
注釋 |
|---|---|---|
無法識別的格式字符會導致將格式字符串的其余所有內(nèi)容原樣復制到結(jié)果對象,并丟棄所有多余的參數(shù)。
1(1,2,3,4,5,6,7,8)
對于整數(shù)說明符(d,u,ld,lu,zd,zu,i,x):當給出精度時,0 轉(zhuǎn)換標志是有效的。
PyObject *PyBytes_FromFormatV(const char *format, va_list vargs)
Return value: New reference. Part of the Stable ABI.
與 PyBytes_FromFormat() 完全相同,除了它需要兩個參數(shù)。
PyObject *PyBytes_FromObject(PyObject *o)
Return value: New reference. Part of the Stable ABI.
返回字節(jié)表示實現(xiàn)緩沖區(qū)協(xié)議的對象*o*。
Py_ssize_t PyBytes_Size(PyObject *o)
Part of the Stable ABI.
返回字節(jié)對象*o*中字節(jié)的長度。
Py_ssize_t PyBytes_GET_SIZE(PyObject *o)
Similar to PyBytes_Size(), but without error checking.
char *PyBytes_AsString(PyObject *o)
Part of the Stable ABI.
返回對應 o 的內(nèi)容的指針。 該指針指向 o 的內(nèi)部緩沖區(qū),其中包含 len(o) + 1 個字節(jié)。 緩沖區(qū)的最后一個字節(jié)總是為空,不論是否存在其他空字節(jié)。 該數(shù)據(jù)不可通過任何形式來修改,除非是剛使用 PyBytes_FromStringAndSize(NULL, size) 創(chuàng)建該對象。 它不可被撤銷分配。 如果 o 根本不是一個字節(jié)串對象,則 PyBytes_AsString() 將返回 NULL 并引發(fā) TypeError。
char *PyBytes_AS_STRING(PyObject *string)
Similar to PyBytes_AsString(), but without error checking.
int PyBytes_AsStringAndSize(PyObject *obj, char **buffer, Py_ssize_t *length)
Part of the Stable ABI.
通過輸出變量 buffer 和 length 返回以 null 為終止符的對象 obj 的內(nèi)容。
如果 length 為 NULL,字節(jié)串對象就不包含嵌入的空字節(jié);如果包含,則該函數(shù)將返回 -1 并引發(fā) ValueError。
該緩沖區(qū)指向 obj 的內(nèi)部緩沖,它的末尾包含一個額外的空字節(jié)(不算在 length 當中)。 該數(shù)據(jù)不可通過任何方式來修改,除非是剛使用 PyBytes_FromStringAndSize(NULL, size) 創(chuàng)建該對象。 它不可被撤銷分配。 如果 obj 根本不是一個字節(jié)串對象,則 PyBytes_AsStringAndSize() 將返回 -1 并引發(fā) TypeError。
在 3.5 版更改: 以前,當字節(jié)串對象中出現(xiàn)嵌入的空字節(jié)時將引發(fā) TypeError。
void PyBytes_Concat(PyObject **bytes, PyObject *newpart)
Part of the Stable ABI.
在 \bytes 中創(chuàng)建新的字節(jié)串對象,其中包含添加到bytes 的newpart 的內(nèi)容;調(diào)用者將獲得新的引用。 對bytes 原值的引用將被收回。 如果無法創(chuàng)建新對象,對bytes 的舊引用仍將被丟棄且*bytes* 的值將被設為 NULL;并將設置適當?shù)漠惓!?/p>
void PyBytes_ConcatAndDel(PyObject **bytes, PyObject *newpart)
Part of the Stable ABI.
在 \bytes 中創(chuàng)建新的字節(jié)串對象,其中包含添加到bytes 的newpart 的內(nèi)容。 此版本會減少newpart* 的引用計數(shù)。
int _PyBytes_Resize(PyObject **bytes, Py_ssize_t newsize)
改變字節(jié)串大小的一種方式,即使其為“不可變對象”。 此方式僅用于創(chuàng)建全新的字節(jié)串對象;如果字節(jié)串在代碼的其他部分已知則不可使用此方式。 如果輸入字節(jié)串對象的引用計數(shù)不為一則調(diào)用此函數(shù)將報錯。 傳入一個現(xiàn)有字節(jié)串對象的地址作為 lvalue(它可能會被寫入),并傳入希望的新大小。 當成功時,\bytes 將存放改變大小后的字節(jié)串對象并返回 0;*bytes 中的地址可能與其輸入值不同。 如果重新分配失敗,則*bytes 上的原字節(jié)串對象將被撤銷分配,*bytes* 會被設為 NULL,同時設置 MemoryError 并返回 -1。
當前文章:創(chuàng)新互聯(lián)Python教程:bytes 對象
轉(zhuǎn)載源于:http://www.dlmjj.cn/article/dpisgjh.html


咨詢
建站咨詢
