# Copyright (C) 2001 Python Software Foundation # This file is distributed under the same license as the Python package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Python 3.14\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-02-07 00:19+0000\n" "PO-Revision-Date: 2018-05-23 14:44+0000\n" "Last-Translator: Adrian Liaw \n" "Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-" "tw)\n" "Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../../library/email.header.rst:2 msgid ":mod:`!email.header`: Internationalized headers" msgstr ":mod:`!email.header`:國際化標頭" #: ../../library/email.header.rst:7 msgid "**Source code:** :source:`Lib/email/header.py`" msgstr "**原始碼:**\\ :source:`Lib/email/header.py`" #: ../../library/email.header.rst:11 msgid "" "This module is part of the legacy (``Compat32``) email API. In the current " "API encoding and decoding of headers is handled transparently by the " "dictionary-like API of the :class:`~email.message.EmailMessage` class. In " "addition to uses in legacy code, this module can be useful in applications " "that need to completely control the character sets used when encoding " "headers." msgstr "" #: ../../library/email.header.rst:17 msgid "" "The remaining text in this section is the original documentation of the " "module." msgstr "" #: ../../library/email.header.rst:19 msgid "" ":rfc:`2822` is the base standard that describes the format of email " "messages. It derives from the older :rfc:`822` standard which came into " "widespread use at a time when most email was composed of ASCII characters " "only. :rfc:`2822` is a specification written assuming email contains only 7-" "bit ASCII characters." msgstr "" #: ../../library/email.header.rst:24 msgid "" "Of course, as email has been deployed worldwide, it has become " "internationalized, such that language specific character sets can now be " "used in email messages. The base standard still requires email messages to " "be transferred using only 7-bit ASCII characters, so a slew of RFCs have " "been written describing how to encode email containing non-ASCII characters " "into :rfc:`2822`\\ -compliant format. These RFCs include :rfc:`2045`, :rfc:" "`2046`, :rfc:`2047`, and :rfc:`2231`. The :mod:`email` package supports " "these standards in its :mod:`!email.header` and :mod:`email.charset` modules." msgstr "" #: ../../library/email.header.rst:33 msgid "" "If you want to include non-ASCII characters in your email headers, say in " "the :mailheader:`Subject` or :mailheader:`To` fields, you should use the :" "class:`Header` class and assign the field in the :class:`~email.message." "Message` object to an instance of :class:`Header` instead of using a string " "for the header value. Import the :class:`Header` class from the :mod:`!" "email.header` module. For example::" msgstr "" #: ../../library/email.header.rst:40 msgid "" ">>> from email.message import Message\n" ">>> from email.header import Header\n" ">>> msg = Message()\n" ">>> h = Header('p\\xf6stal', 'iso-8859-1')\n" ">>> msg['Subject'] = h\n" ">>> msg.as_string()\n" "'Subject: =?iso-8859-1?q?p=F6stal?=\\n\\n'" msgstr "" ">>> from email.message import Message\n" ">>> from email.header import Header\n" ">>> msg = Message()\n" ">>> h = Header('p\\xf6stal', 'iso-8859-1')\n" ">>> msg['Subject'] = h\n" ">>> msg.as_string()\n" "'Subject: =?iso-8859-1?q?p=F6stal?=\\n\\n'" #: ../../library/email.header.rst:50 msgid "" "Notice here how we wanted the :mailheader:`Subject` field to contain a non-" "ASCII character? We did this by creating a :class:`Header` instance and " "passing in the character set that the byte string was encoded in. When the " "subsequent :class:`~email.message.Message` instance was flattened, the :" "mailheader:`Subject` field was properly :rfc:`2047` encoded. MIME-aware " "mail readers would show this header using the embedded ISO-8859-1 character." msgstr "" #: ../../library/email.header.rst:57 msgid "Here is the :class:`Header` class description:" msgstr "" #: ../../library/email.header.rst:62 msgid "" "Create a MIME-compliant header that can contain strings in different " "character sets." msgstr "" #: ../../library/email.header.rst:65 msgid "" "Optional *s* is the initial header value. If ``None`` (the default), the " "initial header value is not set. You can later append to the header with :" "meth:`append` method calls. *s* may be an instance of :class:`bytes` or :" "class:`str`, but see the :meth:`append` documentation for semantics." msgstr "" #: ../../library/email.header.rst:70 msgid "" "Optional *charset* serves two purposes: it has the same meaning as the " "*charset* argument to the :meth:`append` method. It also sets the default " "character set for all subsequent :meth:`append` calls that omit the " "*charset* argument. If *charset* is not provided in the constructor (the " "default), the ``us-ascii`` character set is used both as *s*'s initial " "charset and as the default for subsequent :meth:`append` calls." msgstr "" #: ../../library/email.header.rst:77 msgid "" "The maximum line length can be specified explicitly via *maxlinelen*. For " "splitting the first line to a shorter value (to account for the field header " "which isn't included in *s*, e.g. :mailheader:`Subject`) pass in the name of " "the field in *header_name*. The default *maxlinelen* is 78, and the default " "value for *header_name* is ``None``, meaning it is not taken into account " "for the first line of a long, split header." msgstr "" #: ../../library/email.header.rst:84 msgid "" "Optional *continuation_ws* must be :rfc:`2822`\\ -compliant folding " "whitespace, and is usually either a space or a hard tab character. This " "character will be prepended to continuation lines. *continuation_ws* " "defaults to a single space character." msgstr "" #: ../../library/email.header.rst:89 msgid "" "Optional *errors* is passed straight through to the :meth:`append` method." msgstr "" #: ../../library/email.header.rst:94 msgid "Append the string *s* to the MIME header." msgstr "" #: ../../library/email.header.rst:96 msgid "" "Optional *charset*, if given, should be a :class:`~email.charset.Charset` " "instance (see :mod:`email.charset`) or the name of a character set, which " "will be converted to a :class:`~email.charset.Charset` instance. A value of " "``None`` (the default) means that the *charset* given in the constructor is " "used." msgstr "" #: ../../library/email.header.rst:102 msgid "" "*s* may be an instance of :class:`bytes` or :class:`str`. If it is an " "instance of :class:`bytes`, then *charset* is the encoding of that byte " "string, and a :exc:`UnicodeError` will be raised if the string cannot be " "decoded with that character set." msgstr "" #: ../../library/email.header.rst:107 msgid "" "If *s* is an instance of :class:`str`, then *charset* is a hint specifying " "the character set of the characters in the string." msgstr "" #: ../../library/email.header.rst:110 msgid "" "In either case, when producing an :rfc:`2822`\\ -compliant header using :rfc:" "`2047` rules, the string will be encoded using the output codec of the " "charset. If the string cannot be encoded using the output codec, a " "UnicodeError will be raised." msgstr "" #: ../../library/email.header.rst:115 msgid "" "Optional *errors* is passed as the errors argument to the decode call if *s* " "is a byte string." msgstr "" #: ../../library/email.header.rst:121 msgid "" "Encode a message header into an RFC-compliant format, possibly wrapping long " "lines and encapsulating non-ASCII parts in base64 or quoted-printable " "encodings." msgstr "" #: ../../library/email.header.rst:125 msgid "" "Optional *splitchars* is a string containing characters which should be " "given extra weight by the splitting algorithm during normal header " "wrapping. This is in very rough support of :RFC:`2822`\\'s 'higher level " "syntactic breaks': split points preceded by a splitchar are preferred " "during line splitting, with the characters preferred in the order in which " "they appear in the string. Space and tab may be included in the string to " "indicate whether preference should be given to one over the other as a split " "point when other split chars do not appear in the line being split. " "Splitchars does not affect :RFC:`2047` encoded lines." msgstr "" #: ../../library/email.header.rst:135 msgid "" "*maxlinelen*, if given, overrides the instance's value for the maximum line " "length." msgstr "" #: ../../library/email.header.rst:138 msgid "" "*linesep* specifies the characters used to separate the lines of the folded " "header. It defaults to the most useful value for Python application code " "(``\\n``), but ``\\r\\n`` can be specified in order to produce headers with " "RFC-compliant line separators." msgstr "" #: ../../library/email.header.rst:143 msgid "Added the *linesep* argument." msgstr "新增引數 *linesep*。" #: ../../library/email.header.rst:147 msgid "" "The :class:`Header` class also provides a number of methods to support " "standard operators and built-in functions." msgstr "" #: ../../library/email.header.rst:152 msgid "" "Returns an approximation of the :class:`Header` as a string, using an " "unlimited line length. All pieces are converted to unicode using the " "specified encoding and joined together appropriately. Any pieces with a " "charset of ``'unknown-8bit'`` are decoded as ASCII using the ``'replace'`` " "error handler." msgstr "" #: ../../library/email.header.rst:158 msgid "Added handling for the ``'unknown-8bit'`` charset." msgstr "" #: ../../library/email.header.rst:164 msgid "" "This method allows you to compare two :class:`Header` instances for equality." msgstr "" #: ../../library/email.header.rst:170 msgid "" "This method allows you to compare two :class:`Header` instances for " "inequality." msgstr "" #: ../../library/email.header.rst:173 msgid "" "The :mod:`!email.header` module also provides the following convenient " "functions." msgstr "" #: ../../library/email.header.rst:178 msgid "" "Decode a message header value without converting the character set. The " "header value is in *header*." msgstr "" #: ../../library/email.header.rst:181 msgid "For historical reasons, this function may return either:" msgstr "" #: ../../library/email.header.rst:183 msgid "" "A list of pairs containing each of the decoded parts of the header, " "``(decoded_bytes, charset)``, where *decoded_bytes* is always an instance " "of :class:`bytes`, and *charset* is either:" msgstr "" #: ../../library/email.header.rst:187 msgid "A lower case string containing the name of the character set specified." msgstr "" #: ../../library/email.header.rst:189 msgid "``None`` for non-encoded parts of the header." msgstr "" #: ../../library/email.header.rst:191 msgid "" "A list of length 1 containing a pair ``(string, None)``, where *string* is " "always an instance of :class:`str`." msgstr "" #: ../../library/email.header.rst:194 msgid "" "An :exc:`email.errors.HeaderParseError` may be raised when certain decoding " "errors occur (e.g. a base64 decoding exception)." msgstr "" #: ../../library/email.header.rst:197 msgid "Here are examples:" msgstr "以下為範例: ::" #: ../../library/email.header.rst:209 msgid "" "This function exists for backwards compatibility only. For new code, we " "recommend using :class:`email.headerregistry.HeaderRegistry`." msgstr "" #: ../../library/email.header.rst:215 msgid "" "Create a :class:`Header` instance from a sequence of pairs as returned by :" "func:`decode_header`." msgstr "" #: ../../library/email.header.rst:218 msgid "" ":func:`decode_header` takes a header value string and returns a sequence of " "pairs of the format ``(decoded_string, charset)`` where *charset* is the " "name of the character set." msgstr "" #: ../../library/email.header.rst:222 msgid "" "This function takes one of those sequence of pairs and returns a :class:" "`Header` instance. Optional *maxlinelen*, *header_name*, and " "*continuation_ws* are as in the :class:`Header` constructor." msgstr "" #: ../../library/email.header.rst:228 msgid "" "This function exists for backwards compatibility only, and is not " "recommended for use in new code." msgstr "" #~ msgid "" #~ ">>> from email.header import decode_header\n" #~ ">>> decode_header('=?iso-8859-1?q?p=F6stal?=')\n" #~ "[(b'p\\xf6stal', 'iso-8859-1')]" #~ msgstr "" #~ ">>> from email.header import decode_header\n" #~ ">>> decode_header('=?iso-8859-1?q?p=F6stal?=')\n" #~ "[(b'p\\xf6stal', 'iso-8859-1')]"