curses.ascii --- ابزارهایی برای نویسه‌های ASCII

کد منبع: Lib/curses/ascii.py


ماژول curses.ascii ثابت‌های نام‌دار برای نویسه‌های ASCII و توابعی برای بررسی عضویت در کلاس‌های مختلف نویسه‌ای ASCII فراهم می‌کند. ثابت‌های فراهم‌شده نام‌هایی برای نویسه‌های کنترلی هستند، به شرح زیر:

نام

معنی

curses.ascii.NUL
curses.ascii.SOH

آغاز سرفصل، وقفه‌ی کنسول

curses.ascii.STX

آغاز متن

curses.ascii.ETX

پایان متن

curses.ascii.EOT

پایان انتقال

curses.ascii.ENQ

استعلام، همراه با کنترل جریان ACK

curses.ascii.ACK

Acknowledgement

curses.ascii.BEL

زنگ

curses.ascii.BS

پس‌بر (Backspace)

curses.ascii.TAB

تب

curses.ascii.HT

نام مستعار برای TAB: «تب افقی»

curses.ascii.LF

تغذیه‌ی سطر

curses.ascii.NL

نام مستعار برای LF: «خط جدید»

curses.ascii.VT

تب عمودی

curses.ascii.FF

تغذیه‌ی صفحه

curses.ascii.CR

بازگشت به ابتدای سطر

curses.ascii.SO

Shift-out، آغاز مجموعه نویسه‌ی جایگزین

curses.ascii.SI

Shift-in، از سرگیری مجموعه‌نویسه پیش‌فرض

curses.ascii.DLE

خنثی‌سازی پیوند داده (Data-link escape)

curses.ascii.DC1

XON، برای کنترل جریان

curses.ascii.DC2

کنترل دستگاه ۲، کنترل جریان حالت بلوکی

curses.ascii.DC3

XOFF، برای کنترل جریان

curses.ascii.DC4

کنترل دستگاه ۴

curses.ascii.NAK

تأیید منفی (negative acknowledgement)

curses.ascii.SYN

بی‌کاری همگام

curses.ascii.ETB

پایان بلوک انتقال

curses.ascii.CAN

لغو

curses.ascii.EM

پایان رسانه (End of medium)

curses.ascii.SUB

جایگزینی

curses.ascii.ESC

خنثی کردن

curses.ascii.FS

جداکننده‌ی پرونده

curses.ascii.GS

جداکننده‌ی گروه

curses.ascii.RS

جداکننده‌ی رکورد، پایان‌دهنده‌ی حالت بلوکی

curses.ascii.US

جداکننده‌ی واحد

curses.ascii.SP

فاصله

curses.ascii.DEL

حذف

توجه داشته باشید که بسیاری از این‌ها در کاربرد امروزی اهمیت عملی چندانی ندارند. این نام‌های یادآور برگرفته از قراردادهای تله‌پرینتر مربوط به پیش از رایانه‌های دیجیتال هستند.

این ماژول توابع زیر را فراهم می‌کند که بر اساس توابع کتابخانه استاندارد 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 برای نویسه‌ی فاصله است.