8个版本 (5个稳定)
2.0.2 | 2021年2月14日 |
---|---|
2.0.1 | 2021年2月7日 |
1.0.1 | 2020年9月13日 |
1.0.0 | 2020年7月16日 |
0.0.3 | 2020年3月6日 |
#415 in 文本处理
94,115 monthly downloads
用于 60 个crate (7直接)
7KB
78 行
utf16_lit
提供将utf8重新编码为utf16的macro_rules。
lib.rs
:
提供创建utf-16字面量的macro_rules。
输出是正确大小的数组。在宏前加上&
来创建切片。
use utf16_lit::{utf16, utf16_null};
const EXAMPLE: &[u16] = &utf16!("example");
const EXAMPLE_NULL: &[u16] = &utf16_null!("example");
fn main() {
let v: Vec<u16> = "example".encode_utf16().collect();
assert_eq!(v, EXAMPLE);
let v: Vec<u16> = "example".encode_utf16().chain(Some(0)).collect();
assert_eq!(v, EXAMPLE_NULL);
let v: Vec<u16> = "example\0".encode_utf16().collect();
assert_eq!(v, EXAMPLE_NULL);
// You don't even need to assign the output to a const.
assert_eq!(utf16!("This works")[0], 'T' as u8 as u16);
}