#ifndef Py_UNICODEOBJECT_H
#define Py_UNICODEOBJECT_H
#include <stdarg.h>
/*
Unicode implementation based on original code by Fredrik Lundh,
modified by Marc-Andre Lemburg (mal@lemburg.com) according to the
Unicode Integration Proposal. (See
http://www.egenix.com/files/python/unicode-proposal.txt).
Copyright (c) Corporation for National Research Initiatives.
Original header:
--------------------------------------------------------------------
* Yet another Unicode string type for Python. This type supports the
* 16-bit Basic Multilingual Plane (BMP) only.
*
* Written by Fredrik Lundh, January 1999.
*
* Copyright (c) 1999 by Secret Labs AB.
* Copyright (c) 1999 by Fredrik Lundh.
*
* fredrik@pythonware.com
* http://www.pythonware.com
*
* --------------------------------------------------------------------
* This Unicode String Type is
*
* Copyright (c) 1999 by Secret Labs AB
* Copyright (c) 1999 by Fredrik Lundh
*
* By obtaining, using, and/or copying this software and/or its
* associated documentation, you agree that you have read, understood,
* and will comply with the following terms and conditions:
*
* Permission to use, copy, modify, and distribute this software and its
* associated documentation for any purpose and without fee is hereby
* granted, provided that the above copyright notice appears in all
* copies, and that both that copyright notice and this permission notice
* appear in supporting documentation, and that the name of Secret Labs
* AB or the author not be used in advertising or publicity pertaining to
* distribution of the software without specific, written prior
* permission.
*
* SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO
* THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
* FITNESS. IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
* OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
* -------------------------------------------------------------------- */
#include <ctype.h>
/* === Internal API ======================================================= */
/* --- Internal Unicode Format -------------------------------------------- */
/* Python 3.x requires unicode */
#define Py_USING_UNICODE
#ifndef SIZEOF_WCHAR_T
#error Must define SIZEOF_WCHAR_T
#endif
#define Py_UNICODE_SIZE SIZEOF_WCHAR_T
/* If wchar_t can be used for UCS-4 storage, set Py_UNICODE_WIDE.
Otherwise, Unicode strings are stored as UCS-2 (with limited support
for UTF-16) */
#if Py_UNICODE_SIZE >= 4
#define Py_UNICODE_WIDE
#endif
/* Set these flags if the platform has "wchar.h" and the
wchar_t type is a 16-bit unsigned type */
/* #define HAVE_WCHAR_H */
/* #define HAVE_USABLE_WCHAR_T */
/* Py_UNICODE was the native Unicode storage format (code unit) used by
Python and represents a single Unicode element in the Unicode type.
With PEP 393, Py_UNICODE is deprecated and replaced with a
typedef to wchar_t. */
#ifndef Py_LIMITED_API
#define PY_UNICODE_TYPE wchar_t
typedef wchar_t Py_UNICODE /* Py_DEPRECATED(3.3) */;
#endif
/* If the compiler provides a wchar_t type we try to support it
through the interface functions PyUnicode_FromWideChar(),
PyUnicode_AsWideChar() and PyUnicode_AsWideCharString(). */
#ifdef HAVE_USABLE_WCHAR_T
# ifndef HAVE_WCHAR_H
# define HAVE_WCHAR_H
# endif
#endif
#ifdef HAVE_WCHAR_H
# include <wchar.h>
#endif
/* Py_UCS4 and Py_UCS2 are typedefs for the respective
unicode representations. */
typedef uint32_t Py_UCS4;
typedef uint16_t Py_UCS2;
typedef uint8_t Py_UCS1;
/* --- Internal Unicode Operations ---------------------------------------- */
/* Since splitting on whitespace is an important use case, and
whitespace in most situations is solely ASCII whitespace, we
optimize for the common case by using a quick look-up table
_Py_ascii_whitespace (see below) with an inlined check.
*/
#ifndef Py_LIMITED_API
#define Py_UNICODE_ISSPACE(ch) \
((ch) < 128U ? _Py_ascii_whitespace[(ch)] : _PyUnicode_IsWhitespace(ch))
#define Py_UNICODE_ISLOWER(ch) _PyUnicode_IsLowercase(ch)
#define Py_UNICODE_ISUPPER(ch) _PyUnicode_IsUppercase(ch)
#define Py_UNICODE_ISTITLE(ch) _PyUnicode_IsTitlecase(ch)
#define Py_UNICODE_ISLINEBREAK(ch) _PyUnicode_IsLinebreak(ch)
#define Py_UNICODE_TOLOWER(ch) _PyUnicode_ToLowercase(ch)
#define Py_UNICODE_TOUPPER(ch) _PyUnicode_ToUppercase(ch)
#define Py_UNICODE_TOTITLE(ch) _PyUnicode_ToTitlecase(ch)
#define Py_UNICODE_ISDECIMAL(ch) _PyUnicode_IsDecimalDigit(ch)
#define Py_UNICODE_ISDIGIT(ch) _PyUnicode_IsDigit(ch)
#define Py_UNICODE_ISNUMERIC(ch) _PyUnicode_IsNumeric(ch)
#define Py_UNICODE_ISPRINTABLE(ch) _PyUnicode_IsPrintable(ch)
#define Py_UNICODE_TODECIMAL(ch) _PyUnicode_ToDecimalDigit(ch)
#define Py_UNICODE_TODIGIT(ch) _PyUnicode_ToDigit(ch)
#define Py_UNICODE_TONUMERIC(ch) _PyUnicode_ToNumeric(ch)
#define Py_UNICODE_ISALPHA(ch) _PyUnicode_IsAlpha(ch)
#define Py_UNICODE_ISALNUM(ch) \
(Py_UNICODE_ISALPHA(ch) || \
Py_UNICODE_ISDECIMAL(ch) || \
Py_UNICODE_ISDIGIT(ch) || \
Py_UNICODE_ISNUMERIC(ch))
#define Py_UNICODE_COPY(target, source, length) \
memcpy((target), (source), (length)*sizeof(Py_UNICODE))
#define Py_UNICODE_FILL(target, value, length) \
do {Py_ssize_t i_; Py_UNICODE *t_ = (target); Py_UNICODE v_ = (value);\
for (i_ = 0; i_ < (length); i_++) t_[i_] = v_;\
} while (0)
/* macros to work with surrogates */
#define Py_UNICODE_IS_SURROGATE(ch) (0xD800 <= (ch) && (ch) <= 0xDFFF)
#define Py_UNICODE_IS_HIGH_SURROGATE(ch) (0xD800 <= (ch) && (ch) <= 0xDBFF)
#define Py_UNICODE_IS_LOW_SURROGATE(ch) (0xDC00 <= (ch) && (ch) <= 0xDFFF)
/* Join two surrogate characters and return a single Py_UCS4 value. */
#define Py_UNICODE_JOIN_SURROGATES(high, low) \
(((((Py_UCS4)(high) & 0x03FF) << 10) | \
((Py_UCS4)(low) & 0x03FF)) + 0x10000)
/* high surrogate = top 10 bits added to D800 */
#define Py_UNICODE_HIGH_SURROGATE(ch) (0xD800 - (0x10000 >> 10) + ((ch) >> 10))
/* low surrogate = bottom 10 bits added to DC00 */
#define Py_UNICODE_LOW_SURROGATE(ch) (0xDC00 + ((ch) & 0x3FF))
/* Check if substring matches at given offset. The offset must be
valid, and the substring must not be empty. */
#define Py_UNICODE_MATCH(string, offset, substring) \
((*((string)->wstr + (offset)) == *((substring)->wstr)) && \
((*((string)->wstr + (offset) + (substring)->wstr_length-1) == *((substring)->wstr + (substring)->wstr_length-1))) && \
!memcmp((string)->wstr + (offset), (substring)->wstr, (substring)->wstr_length*sizeof(Py_UNICODE)))
#endif /* Py_LIMITED_API */
#ifdef __cplusplus
extern "C" {
#endif
/* --- Unicode Type ------------------------------------------------------- */
#ifndef Py_LIMITED_API
/* ASCII-only strings created through PyUnicode_New use the PyASCIIObject
structure. state.ascii and state.compact are set, and the data
immediately follow the structure. utf8_length and wstr_length can be found
in the length field; the utf8 pointer is equal to the data pointer. */
typedef struct {
/* There are 4 forms of Unicode strings:
- compact ascii:
* structure = PyASCIIObject
* test: PyUnicode_IS_COMPACT_ASCII(op)
* kind = PyUnicode_1BYTE_KIND
* compact = 1
* ascii = 1
* ready = 1
* (length is the length of the utf8 and wstr strings)
* (data starts just after the structure)
* (since ASCII is decoded from UTF-8, the utf8 string are the data)
- compact:
* structure = PyC
没有合适的资源?快使用搜索试试~ 我知道了~
基于python实现的智慧校园考试系统程序源代码.zip
共2000个文件
py:1646个
html:122个
h:100个
需积分: 1 3 下载量 116 浏览量
2024-03-20
17:06:39
上传
评论 1
收藏 46.49MB ZIP 举报
温馨提示
基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码 基于python实现的智慧校园考试系统程序源代码基于python实现的智慧校园考试系统程序源代码
资源推荐
资源详情
资源评论
收起资源包目录
基于python实现的智慧校园考试系统程序源代码.zip (2000个子文件)
responsive.css 18KB
select2.css 17KB
base.css 16KB
select2.min.css 15KB
widgets.css 10KB
forms.css 8KB
autocomplete.css 8KB
changelists.css 6KB
rtl.css 4KB
responsive_rtl.css 2KB
login.css 1KB
ol3.css 657B
fonts.css 423B
dashboard.css 412B
智慧校园考试系统程序使用说明.doc 1.6MB
Redis安装与启动.docx 63KB
程序配置说明.docx 21KB
智慧校园测评系统使用手册.docx 20KB
unicodeobject.h 83KB
object.h 42KB
abstract.h 41KB
pyport.h 28KB
dynamic_annotations.h 22KB
Python-ast.h 22KB
pyconfig.h 21KB
pyerrors.h 17KB
pyatomic.h 16KB
pystate.h 16KB
objimpl.h 14KB
datetime.h 10KB
pymem.h 9KB
pytime.h 9KB
ceval.h 9KB
longobject.h 9KB
modsupport.h 9KB
bytesobject.h 9KB
pymath.h 8KB
dictobject.h 7KB
pylifecycle.h 7KB
codecs.h 7KB
pythonrun.h 6KB
code.h 6KB
pythread.h 5KB
opcode.h 5KB
import.h 5KB
symtable.h 5KB
floatobject.h 5KB
methodobject.h 5KB
pyhash.h 4KB
funcobject.h 4KB
py_curses.h 4KB
longintrepr.h 4KB
fileutils.h 4KB
traceback.h 4KB
genobject.h 4KB
pymacro.h 4KB
setobject.h 3KB
frameobject.h 3KB
bytes_methods.h 3KB
descrobject.h 3KB
Python.h 3KB
pymacconfig.h 3KB
compile.h 3KB
parsetok.h 3KB
listobject.h 3KB
weakrefobject.h 3KB
memoryobject.h 3KB
pyarena.h 3KB
token.h 3KB
tupleobject.h 2KB
sliceobject.h 2KB
grammar.h 2KB
moduleobject.h 2KB
pyexpat.h 2KB
typeslots.h 2KB
pydtrace.h 2KB
bytearrayobject.h 2KB
context.h 2KB
structmember.h 2KB
graminit.h 2KB
complexobject.h 2KB
fileobject.h 2KB
warnings.h 2KB
pycapsule.h 2KB
classobject.h 2KB
errcode.h 2KB
sysmodule.h 2KB
pystrtod.h 1KB
structseq.h 1KB
pyctype.h 1KB
patchlevel.h 1KB
odictobject.h 1KB
pgenheaders.h 1KB
asdl.h 1KB
pydebug.h 1KB
eval.h 1KB
node.h 1KB
ucnhash.h 1KB
accu.h 1KB
boolobject.h 920B
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
计算机学长felix
- 粉丝: 3569
- 资源: 791
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- ssm学院党员管理系统+jsp.zip
- ssm学生信息管理系统+jsp.zip
- ssm学校运动会信息管理系统+jsp.zip
- ssm学生宿舍管理+jsp.zip
- ssm学生公寓管理中心系统的设计与实现+jsp.zip
- ssm学生请假系统+jsp.zip
- ssm学生公寓管理系统的设计与实现+jsp.zip
- ssm学生成绩管理系统+vue.zip
- 西门子s7 200smart与3台力士乐变频器通讯程序 原创可直接用于生产的程序,程序带注释,并附送触摸屏程序,有接线方式和设置,通讯地址说明等 程序采用轮询,可以后续根据要求适当修改后扩展 器件
- ssm削面快餐店点餐服务系统的设计与实现+jsp.zip
- ssm新生报到系统+jsp.zip
- ssm选课排课系统的设计与开发+vue.zip
- ssm星空游戏购买下载平台的设计与实现+jsp.zip
- ssm校园一卡通系统软件的设计与实现+jsp.zip
- ssm校园自助洗衣系统的分析与设计+jsp.zip
- ssm校园资讯推荐系统+jsp.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功