1个不稳定版本

0.1.0 2023年1月2日

#1925文本处理

MIT 许可证

17KB
247

一个小型Rust库,用于Esperanto x-system和Unicode上标之间的转换。

提供了一些实用工具,用于在Esperanto x-system(如“ehxosxangxocxiujxauxde”)和带上标的Unicode字符(如“eĥoŝanĝoĉiuĵaŭde”)之间进行转换。在从x-system转换时,X可以是大写X或小写x,无论前一个字符的大小写如何。在转换到X系统时,X将与Esperanto字母的大小写相匹配。

要使用Crate,请在您的项目仓库中运行以下命令

cargo add xsystem

使用Crate的最简单方法是使用函数x_to_unicodeunicode_to_x。这些函数将一个编码系统的字符串切片转换为另一个编码系统的String。例如

use xsystem::{unicode_to_x, x_to_unicode};

let unichars = x_to_unicode("acxajxo SxANGXEMA");
assert_eq!(unichars, "aĉaĵo ŜANĜEMA".to_string());

let xchars = unicode_to_x("terpomkaĉo estas AĈA");
assert_eq!(xchars, "terpomkacxo estas ACXA".to_string());

您还可以使用函数x_charsunicode_chars,这些函数将字符迭代器适配以动态执行转换。例如

use xsystem::{x_chars, unicode_chars};

let shouty_x = x_chars("li estas ĉarma".chars())
    .map(|c| c.to_uppercase())
    .flatten()
    .collect::<String>();
assert_eq!(&shouty_x, "LI ESTAS CXARMA");

let first_converted_char = unicode_chars("mi portas cxapelon".chars())
    .position(|c| !c.is_ascii());
assert_eq!(first_converted_char, Some(10));

无运行时依赖