pub enum ContentTransferEncoding {
QuotedPrintable,
Base64,
Binary,
Bit8,
Bit7,
None,
}Expand description
编码规则 选择 Content-Transfer-Encoding 的原则
纯文本: 如果内容是纯文本且只包含 ASCII 字符,通常使用 7bit。 非 ASCII 文本: 如果内容包含非 ASCII 字符,可以使用 quoted-printable 或 8bit,具体取决于内容和兼容性要求。 二进制数据: 对于图像、视频、音频等二进制数据,通常使用 base64 编码。
Variants§
QuotedPrintable
这种编码方式主要用于编码文本数据,它保持大部分文本的可读性,但会对非 ASCII 字符和特殊字符(如 =, ?, & 等)进行编码,以确保兼容性。 适用于包含大量特殊字符或非 ASCII 文本的邮件内容。
Base64
将二进制数据编码为 ASCII 字符串,使用 64 个字符的字母表(A-Z, a-z, 0-9, +, /)表示二进制数据。每 3 个字节的二进制数据编码为 4 个字符,便于在邮件中传输。 常用于编码附件、图像、音频、视频等二进制数据。
Binary
表示内容是二进制数据,不能被转义或编码,必须保持原始的二进制格式进行传输。这种编码方式通常用于图像、音频等二进制文件。 这种编码要求邮件传输代理能够处理所有可能的字节值,几乎不做任何转换,因此也不是所有系统都支持。
Bit8
表示内容包含 8 位字符,这意味着它可能包含非 ASCII 字符(如带有音标的字母)。尽管这样编码的邮件可以包含更多字符,但并非所有邮件传输代理都支持 8bit 传输。 适用于非 ASCII 的文本数据,但需要确保邮件传输链路支持 8bit 数据传输。
Bit7
表示内容是 ASCII 文本,仅包含 7 位字符(即标准 ASCII 字符集),每个字符的最高位是 0。这种编码方式是最常用的,因为它适合绝大多数邮件传输系统。 适用于纯文本邮件,不包含任何特殊字符或二进制数据。
None
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ContentTransferEncoding
impl RefUnwindSafe for ContentTransferEncoding
impl Send for ContentTransferEncoding
impl Sync for ContentTransferEncoding
impl Unpin for ContentTransferEncoding
impl UnwindSafe for ContentTransferEncoding
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more