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 文本处理

Download history 18990/week @ 2024-03-14 28535/week @ 2024-03-21 24709/week @ 2024-03-28 16337/week @ 2024-04-04 18047/week @ 2024-04-11 23722/week @ 2024-04-18 23499/week @ 2024-04-25 23961/week @ 2024-05-02 18082/week @ 2024-05-09 27098/week @ 2024-05-16 26983/week @ 2024-05-23 31350/week @ 2024-05-30 20828/week @ 2024-06-06 21475/week @ 2024-06-13 24663/week @ 2024-06-20 19894/week @ 2024-06-27

94,115 monthly downloads
用于 60 个crate (7直接)

Zlib OR Apache-2.0 OR MIT

7KB
78

License:Zlib min-rust crates.io docs.rs

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);
}

无运行时依赖