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, *, strip_ws=False)

Decode the contents of the input file and write the resulting decoded binary data to the output file. input and output must be binary file objects. If the optional argument header is present and true, underscore will be decoded as space. This is used to decode "Q"-encoded headers as described in RFC 1522: "MIME (Multipurpose Internet Mail Extensions) Part Two: Message Header Extensions for Non-ASCII Text". If the optional argument strip_ws is true, trailing whitespace is stripped from each line, as required by RFC 2045.

تغییر یافته در نسخه‌ی 3.16.0a1 (unreleased): Added the strip_ws parameter.

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, *, strip_ws=False)

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

تغییر یافته در نسخه‌ی 3.16.0a1 (unreleased): Added the strip_ws parameter.

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

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

همچنین ببینید

ماژول base64

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