quopri --- کدگذاری و کدگشایی داده‌های MIME با روش quoted-printable

کد منبع: Lib/quopri.py


این ماژول کدگذاری و کدگشایی انتقالی quoted-printable را، همان‌گونه که در RFC 1521 تعریف شده است، انجام می‌دهد: «MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies». کدگذاری quoted-printable برای داده‌هایی طراحی شده است که تعداد نویسه‌های غیرچاپی آن‌ها نسبتاً کم است؛ طرح‌واره کدگذاری base64 که از طریق ماژول base64 در دسترس است، اگر چنین نویسه‌هایی زیاد باشند، فشرده‌تر است؛ برای مثال هنگام ارسال یک پرونده گرافیکی.

quopri.decode(input, output, header=False)

محتوای پرونده input کدگشایی می‌شود و داده‌ی دودویی کدگشایی‌شده‌ی حاصل در پرونده output نوشته می‌شود. input و output باید اشیای پرونده دودویی باشند. اگر آرگومان اختیاری header وجود داشته باشد و درست باشد، زیرخط به‌عنوان فاصله کدگشایی می‌شود. این کار برای کدگشایی سرآیند‌های کدگذاری‌شده با «Q» همان‌طور که در RFC 1522 توضیح داده شده است به کار می‌رود: «MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text».

quopri.encode(input, output, quotetabs, header=False)

محتوای پرونده‌ی input را کدگذاری می‌کند و داده‌های قابل‌چاپ (quoted-printable) حاصل را در پرونده‌ی output می‌نویسد. input و output باید اشیای پرونده‌ی دودویی باشند. quotetabs، پرچمی غیراختیاری است که تعیین می‌کند آیا فاصله‌ها و تب‌های نهفته کدگذاری شوند یا خیر؛ هنگامی که true باشد، چنین فضای سفید نهفته‌ای را کدگذاری می‌کند و هنگامی که false باشد، آن‌ها را کدگذاری‌نشده باقی می‌گذارد. توجه داشته باشید که فاصله‌ها و تب‌هایی که در انتهای سطرهای ظاهر می‌شوند، همیشه کدگذاری می‌شوند، مطابق RFC 1521. header پرچمی است که تعیین می‌کند آیا فاصله‌ها به‌صورت زیرخط کدگذاری می‌شوند یا خیر، مطابق RFC 1522.

quopri.decodestring(s, header=False)

مانند decode()، با این تفاوت که یک bytes منبع را می‌پذیرد و bytes کدگشایی‌شده‌ی متناظر را برمی‌گرداند.

quopri.encodestring(s, quotetabs=False, header=False)

مانند encode() است، با این تفاوت که یک bytes منبع را می‌پذیرد و bytes کدگذاری‌شده‌ی متناظر را برمی‌گرداند. به‌طور پیش‌فرض، مقدار False را به پارامتر quotetabs تابع encode() ارسال می‌کند.

همچنین ملاحظه نمائید

ماژول base64

کدگذاری و کدگشایی داده‌های MIME base64