#charset #unicode #web

murdoch-charsets

提供 IANA 定义的字符集类型

1 个不稳定版本

0.1.0 2019 年 7 月 13 日

#379 in 国际化 (i18n)

MIT 许可证

54KB
2K SLoC

crate-name at crates.io crate-name at docs.rs

murdoch-charsets

Murdoch-Charsets

murdoch-charsets 提供由互联网数字分配机构 (IANA) 定义的字符集名称的 API。

在所有设置中,murdoch-charset 提供了 CharacterSet 特性和 InvalidCharacterSetNameError

默认设置

默认情况下,murdoch-charsets 提供了与 IANA 定义的字符集相对应的类型,并提供 CharacterSetEnum 来存储其中任何一个。

自定义字符集

您可以通过使用 no_charset 功能来自定义字符集

[dependencies]
murdoch-charsets = { features = [ "no_charset" ] }

然后,murdoch-charsets 导出 character_sets! 宏。

character_sets!(
    UnicodeCharacterSet,
    UTF_8,                           // character-set type/variant name
    None,                            // preferred_mime_name
    "UTF-8",                         // name
    ["UTF8", "UTF_8",],              // aliases
    ["UTF-8", "UTF8", "UTF_8",],     // uppercase set of names (for FromStr)
    UTF_16,
    None,
    "UTF-16",
    ["UTF16", "UTF_16",],
    ["UTF-16", "UTF16", "UTF_16",],
    UTF_32,
    None,
    "UTF-32",
    ["UTF32", "UTF_32",],
    ["UTF-32", "UTF32", "UTF_32",],
);

通过像上面一样调用宏,将生成以下类型和特质的实现(DebugDisplayCopyClonePartialEqEqFromStrAsRef<str>AsRef<[u8]>)。

pub struct UTF_8;
pub struct UTF_16;
pub struct UTF_32;
pub enum UnicodeCharacterSet
{
    UTF_8,
    UTF_16,
    UTF_32,
}

许可证:MIT

无运行时依赖项

功能