curses.ascii --- ابزارهایی برای نویسههای ASCII¶
کد منبع: Lib/curses/ascii.py
ماژول curses.ascii ثابتهای نامدار برای نویسههای ASCII و توابعی برای بررسی عضویت در کلاسهای مختلف نویسهای ASCII فراهم میکند. ثابتهای فراهمشده نامهایی برای نویسههای کنترلی هستند، به شرح زیر:
نام |
معنی |
|---|---|
|
|
|
آغاز سرفصل، وقفهی کنسول |
|
آغاز متن |
|
پایان متن |
|
پایان انتقال |
|
استعلام، همراه با کنترل جریان |
|
Acknowledgement |
|
زنگ |
|
پسبر (Backspace) |
|
تب |
|
نام مستعار برای |
|
تغذیهی سطر |
|
نام مستعار برای |
|
تب عمودی |
|
تغذیهی صفحه |
|
بازگشت به ابتدای سطر |
|
Shift-out، آغاز مجموعه نویسهی جایگزین |
|
Shift-in، از سرگیری مجموعهنویسه پیشفرض |
|
خنثیسازی پیوند داده (Data-link escape) |
|
XON، برای کنترل جریان |
|
کنترل دستگاه ۲، کنترل جریان حالت بلوکی |
|
XOFF، برای کنترل جریان |
|
کنترل دستگاه ۴ |
|
تأیید منفی (negative acknowledgement) |
|
بیکاری همگام |
|
پایان بلوک انتقال |
|
لغو |
|
پایان رسانه (End of medium) |
|
جایگزینی |
|
خنثی کردن |
|
جداکنندهی پرونده |
|
جداکنندهی گروه |
|
جداکنندهی رکورد، پایاندهندهی حالت بلوکی |
|
جداکنندهی واحد |
|
فاصله |
|
حذف |
توجه داشته باشید که بسیاری از اینها در کاربرد امروزی اهمیت عملی چندانی ندارند. این نامهای یادآور برگرفته از قراردادهای تلهپرینتر مربوط به پیش از رایانههای دیجیتال هستند.
این ماژول توابع زیر را فراهم میکند که بر اساس توابع کتابخانه استاندارد C طراحی شدهاند:
- curses.ascii.isalnum(c)¶
بررسی میکند که آیا نویسهای الفباییعددی ASCII است یا خیر؛ این معادل
isalpha(c) or isdigit(c)است.
- curses.ascii.isalpha(c)¶
بررسی میکند که آیا نویسه الفبایی ASCII است؛ این معادل
isupper(c) or islower(c)است.
- curses.ascii.isascii(c)¶
بررسی میکند که آیا مقدار نویسهای در مجموعهی ASCII ۷بیتی میگنجد یا خیر.
- curses.ascii.isblank(c)¶
بررسی نویسهی خالی ASCII؛ فاصله یا تب افقی.
- curses.ascii.iscntrl(c)¶
بررسی وجود یک نویسهی کنترلی ASCII (در بازهی 0x00 تا 0x1f یا 0x7f).
- curses.ascii.isdigit(c)¶
بررسی میکند که یک رقم دهدهی ASCII،
'0'تا'9'باشد. این معادلc in string.digitsاست.
- curses.ascii.isgraph(c)¶
بررسی هر نویسهی چاپی ASCII بهجز فاصله.
- curses.ascii.islower(c)¶
بررسی برای یک نویسهی کوچک ASCII.
- curses.ascii.isprint(c)¶
هر نویسهی قابلچاپ ASCII، از جمله فاصله، بررسی میشود.
- curses.ascii.ispunct(c)¶
هر نویسهی چاپپذیر ASCII را که فاصله یا نویسهی الفباییعددی نباشد، بررسی میکند.
- curses.ascii.isspace(c)¶
بررسی نویسههای فضای سفید ASCII؛ فاصله، تغذیهی سطر، بازگشت به ابتدای سطر، تغذیهی صفحه، تب افقی، تب عمودی.
- curses.ascii.isupper(c)¶
بررسی میکند که آیا یک نویسه بزرگ ASCII است.
- curses.ascii.isxdigit(c)¶
بررسی میکند که آیا یک رقم مبنای شانزده ASCII است یا خیر. این معادل
c in string.hexdigitsاست.
- curses.ascii.isctrl(c)¶
بررسی میکند که آیا یک نویسهی کنترلی ASCII است (مقادیر ترتیبی ۰ تا ۳۱). برخلاف
iscntrl()، نویسهی حذف (0x7f) را شامل نمیشود.
- curses.ascii.ismeta(c)¶
بررسی میکند که آیا نویسهای غیرASCII است (مقادیر ترتیبی 0x80 و بالاتر).
این توابع، اعداد صحیح یا رشتههای تکنویسهای را میپذیرند؛ هنگامی که آرگومان یک رشته باشد، ابتدا با استفاده از تابع توکار ord() تبدیل میشود.
توجه داشته باشید که همهی این توابع مقادیر بیتیِ ترتیبیِ برگرفته از نویسهی رشتهای که شما به آنها میدهید را بررسی میکنند؛ آنها در واقع چیزی دربارهی کدگذاری نویسههای ماشین میزبان نمیدانند.
دو تابع زیر، یا یک رشتهی تکنویسهای یا یک مقدار بایت از نوع عدد صحیح را میپذیرند؛ آنها مقداری از همان نوع برمیگردانند.
- curses.ascii.ascii(c)¶
مقدار ASCII متناظر با ۷ بیت پایینی c را برمیگرداند.
- curses.ascii.ctrl(c)¶
نویسه کنترلی متناظر با نویسه دادهشده را برمیگرداند (مقدار بیتی نویسه با 0x1f بهصورت بیتی AND میشود).
- curses.ascii.alt(c)¶
نویسهی ۸بیتی متناظر با نویسهی ASCII دادهشده را برمیگرداند (مقدار بیتی نویسه با 0x80 OR بیتی میشود).
تابع زیر یا یک رشتهی تکنویسهای یا یک مقدار عدد صحیح را دریافت میکند و یک رشته را برمیگرداند.
- curses.ascii.unctrl(c)¶
بازنمایی رشتهای از نویسهی ASCII c را برمیگرداند. اگر c قابل چاپ باشد، این رشته خود نویسه است. اگر نویسه یک نویسهی کنترلی (0x00--0x1f) باشد، رشته شامل یک نشانک (
'^') است که پس از آن حرف بزرگ متناظر قرار میگیرد. اگر نویسه یک نویسهی حذف ASCII (0x7f) باشد، رشته'^?'است. اگر بیت متا (0x80) نویسه فعال باشد، بیت متا حذف میشود، قوانین پیشین اعمال میشوند، و'!'به ابتدای نتیجه اضافه میشود.
- curses.ascii.controlnames¶
یک آرایهی ۳۳ عنصری از رشتهها که شامل نامهای اختصاری ASCII برای سیودو نویسهی کنترلی ASCII از 0 (NUL) تا 0x1f (US)، بهترتیب، بههمراه نام اختصاری
SPبرای نویسهی فاصله است.