#lookup-tables #grammar #email #table #classification #rfc-5322 #chars

已弃用 mail-chars

提供基于字符分类的查找表,用于邮件相关语法

3 个不稳定版本

使用旧的Rust 2015

0.2.1 2019年10月11日
0.1.1 2017年11月21日
0.1.0 2017年11月17日

#8 in #rfc-5322

MIT/Apache

22KB
291

mail-chars Crates.io mail-chars License Build Status

提供基于字符分类的查找表,用于邮件相关语法部分/字符集,即给定字符是否在atext、ctext、dtext、token等中有效。

注意,这仅涵盖定义字符集集合的语法部分(如atext、ctext等),但不包括如quoted-pairs之类的上下文部分。

extern crate mail_chars;
use mail_chars::{Charset, rfc5322, rfc2045, CharMatchExt};

fn main() {
    assert!(Charset::AText.contains('d'));
    assert!('d'.is(Charset::AText));
    assert!('d'.is(rfc5322::AText));
    
    // `rfc*::*` are just re-exports grouped by RFC.
    assert_eq!(Charset::Token, rfc2045::Token);
    
    // If we want to test for more than on char set we can use lookup.
    let res = Charset::lookup('.');

    // This has the benefit that there is an `is_ascii` method.
    assert!(res.is_ascii());
    assert!(res.is(rfc2045::Token));
    assert!(res.is(rfc5322::CTextWs));
    assert!(!res.is(rfc5322::AText));
}

许可证

许可方式如下

由您选择。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义,您有意提交的任何贡献,包括在本工作中的应用,都将按照上述方式双许可,不附加任何额外条款或条件。

无运行时依赖