Các hàm này tăng TypeError
khi mong đợi tham số byte và được gọi với tham số không phải byte
Loại con này của PyObject
đại diện cho một đối tượng byte Python
Một phần của ABI ổn định< . .
Phiên bản này của PyTypeObject
đại diện cho loại byte Python;
Return true if the object o is a bytes object or an instance of a subtype of the bytes type. This function always succeeds.
int PyBytes_CheckExact[PyObject *o]¶Return true if the object o is a bytes object, but not an instance of a subtype of the bytes type. This function always succeeds.
PyObject *PyBytes_FromString[const char *v]¶Return value: New reference. Part of the ABI ổn định .
Trả về một đối tượng byte mới với một bản sao của chuỗi v làm giá trị khi thành công và NULL
khi thất bại. Tham số v không được là NULL
;
Return value: New reference. Part of the ABI ổn định .
Trả về một đối tượng byte mới với một bản sao của chuỗi v làm giá trị và độ dài len nếu thành công và NULL
nếu thất bại. Nếu v là NULL
, nội dung của đối tượng bytes chưa được khởi tạo
Giá trị trả về. Tài liệu tham khảo mới. Một phần của ABI ổn định .
Lấy một chuỗi định dạng kiểu C printf[]
và một số lượng đối số thay đổi, tính toán kích thước của đối tượng byte Python kết quả và trả về một đối tượng byte với các giá trị được định dạng trong đó. Các đối số biến phải là loại C và phải tương ứng chính xác với các ký tự định dạng trong chuỗi định dạng. Các ký tự định dạng sau được cho phép
định dạng ký tự
Loại hình
Bình luận
%%
không có
Ký tự % theo nghĩa đen
PyObject
0
int
Một byte đơn, được biểu thị dưới dạng C int
PyObject
1
int
Tương đương với PyObject
2. 1
PyObject
3
int không dấu
Tương đương với PyObject
4. 1
PyObject
5
Dài
Tương đương với PyObject
6. 1
PyObject
7
không dấu dài
Tương đương với PyObject
8. 1
PyObject
9
PyTypeObject
0
Tương đương với PyTypeObject
1. 1
PyTypeObject
2
size_t
Tương đương với PyTypeObject
3. 1
PyTypeObject
4
int
Tương đương với PyTypeObject
5. 1
PyTypeObject
6
int
Tương đương với PyTypeObject
7. 1
PyTypeObject
8
const ký tự *
Một mảng ký tự C kết thúc null
PyTypeObject
9
const void*
Biểu diễn hex của con trỏ C. Hầu hết tương đương với bytes
0 ngoại trừ việc nó được đảm bảo bắt đầu bằng bytes
1 theo nghĩa đen bất kể sản lượng của bytes
2 của nền tảng là gì
Một ký tự định dạng không được nhận dạng khiến tất cả phần còn lại của chuỗi định dạng được sao chép nguyên trạng sang đối tượng kết quả và mọi đối số bổ sung bị loại bỏ
Đối với các chỉ định số nguyên [d, u, ld, lu, zd, zu, i, x]. cờ chuyển đổi 0 có hiệu lực ngay cả khi độ chính xác được cung cấp
PyObject *PyBytes_FromFormatV[const char *format, va_list vargs]¶Return value: New reference. Part of the ABI ổn định .
Giống hệt với bytes
3 ngoại trừ việc nó nhận đúng hai đối số
Return value: New reference. Part of the ABI ổn định .
Trả về biểu diễn byte của đối tượng o thực hiện giao thức bộ đệm
Py_ssize_t PyBytes_Size[PyObject *o]¶Part of the Stable ABI.
Trả về độ dài của byte trong đối tượng byte o
Py_ssize_t PyBytes_GET_SIZE[PyObject *o]¶Similar to bytes
4, but without error checking.
Part of the Stable ABI.
Trả về một con trỏ tới nội dung của o. Con trỏ đề cập đến bộ đệm bên trong của o, bao gồm bytes
5 byte. Byte cuối cùng trong bộ đệm luôn là null, bất kể có byte null nào khác hay không. Dữ liệu không được sửa đổi theo bất kỳ cách nào, trừ khi đối tượng vừa được tạo bằng cách sử dụng bytes
6. Nó không được thỏa thuận. Nếu o hoàn toàn không phải là đối tượng byte, thì bytes
7 trả về NULL
và tăng TypeError
Similar to bytes
7, but without error checking.
Part of the Stable ABI.
Trả về nội dung kết thúc null của đối tượng obj thông qua bộ đệm và độ dài biến đầu ra
Nếu độ dài là NULL
, thì đối tượng bytes có thể không chứa các byte rỗng được nhúng;
Bộ đệm đề cập đến bộ đệm bên trong của obj, bao gồm một byte rỗng bổ sung ở cuối [không được tính theo độ dài]. Dữ liệu không được sửa đổi theo bất kỳ cách nào, trừ khi đối tượng vừa được tạo bằng cách sử dụng bytes
6. Nó không được thỏa thuận. Nếu obj hoàn toàn không phải là đối tượng byte, thì NULL
5 trả về NULL
2 và tăng TypeError
Đã thay đổi trong phiên bản 3. 5. Trước đây, TypeError
đã được nâng lên khi bắt gặp các byte rỗng được nhúng trong đối tượng byte.
Part of the Stable ABI.
Tạo một đối tượng bytes mới trong *bytes chứa nội dung của phần mới được thêm vào bytes; . Tham chiếu đến giá trị cũ của byte sẽ bị đánh cắp. Nếu không thể tạo đối tượng mới, tham chiếu cũ đến byte sẽ vẫn bị loại bỏ và giá trị của *byte sẽ được đặt thành NULL
;
Part of the Stable ABI.
Tạo một đối tượng bytes mới trong *bytes chứa nội dung của phần mới được thêm vào bytes. Phiên bản này giảm số lượng tham chiếu của newpart
int _PyBytes_Resize[PyObject **bytes, Py_ssize_t newsize]¶A way to resize a bytes object even though it is “immutable”. Only use this to build up a brand new bytes object; don’t use this if the bytes may already be known in other parts of the code. It is an error to call this function if the refcount on the input bytes object is not one. Pass the address of an existing bytes object as an lvalue [it may be written into], and the new size desired. On success, *bytes holds the resized bytes object and NULL
0 is returned; the address in *bytes may differ from its input value. If the reallocation fails, the original bytes object at *bytes is deallocated, *bytes is set to NULL
, NULL
2 is set, and NULL
2 is returned.