- Py_UNICODE
wchar_t的typedef,是16位还是32位依赖于平台。 - PyASCIIObject
- PyCompactUnicodeObject
- PyUnicodeObject
PyOjbect的子类型。 PyTypeObject PyUnicode_Type
int PyUnicode_Check(PyObject *o)
若对象o是Unicode类型或其子类型,返回true。int PyUnicode_CheckExact(PyObject *o)
当且仅当o为Unicode对象是返回true。Py_ssize_t PyUnicode_GET_LENGTH(PyObject *o)
返回unicode字符串的长度(in code points)。void * PyUnicode_DATA(PyObject *o)
返回unicode buffer的指针。PyObject * PyUnicode_FromStringAndSize( const char *u, Py_ssize_t size)
从utf8编码长度为size的字符串u拷贝出数据,构造unicode对象,并返回,失败返回NULL。- PyObject * PyUnicode_FromString(const char *u)
u是NULL结尾的utf8编码字符串。 - PyObject * PyUnicode_FromFormat(const char *format, …)
- PyObject * PyUnicode_FromFormatV(const char *format, va_list vargs)
C语言printf()样式的构造方法。 Py_ssize_t PyUnicode_GetLength(PyObject *unicode)
获得unicode对象的长度,in code points。PyObject * PyUnicode_FromUnicode(const Py_UNICODE *u, Py_ssize_t size)
- Py_UNICODE* PyUnicode_AsUnicode(PyObject *unicode)
- Py_UNICODE* PyUnicode_AsUnicodeAndSize(PyObject *unicode, Py_ssize_t *size)
Py_ssize_t PyUnicode_GetSize(PyObject *unicode) // in code units
PyObject* PyUnicode_DecodeUTF8(const char *s, Py_ssize_t size, const char *errors)
s为utf8编码的字符串,从s中拷贝出size个字节构造unicode对象并返回,失败返回NULL。- PyObject * PyUnicode_AsUTF8String(PyObject *unicode)
使用utf8对unicode对象进行编码,返回Python的bytes对象,失败返回NULL。 - char * PyUnicode_AsUTF8AndSize(PyObject *unicode, Py_ssize_t *size)
将unicode进行utf8编码成字符串并返回,size是返回的utf8编码的字节数。返回的字符串会添加一个额外的NULL。失败返回NULL。 - char * PyUnicode_AsUTF8(PyObject *unicode)
同PyUnicode_AsUTF8AndSize(),只是不返回大小。 - PyObject* PyUnicode_EncodeUTF8(const Py_UNICODE *s, Py_ssize_t size, const char *errors)
从s中取出size大小的数据,使用utf8编码,返回bytes对象,失败返回NULL。
Python/C API Unicode对象
最新推荐文章于 2023-04-16 13:27:33 发布