#utf-16 #utf-8 #unicode #decode #encode #encode-decode

bin+lib ende

用于编码/解码 Unicode/UTF-8/UTF-16 (UCS-2) 码点的库

1 个不稳定版本

0.1.0 2024年4月14日

#803 in 文本处理

GPL-3.0 许可证

48KB
348

GitHub CI Linux GitHub CI Windows GitHub CI macOS Crates.io GitHub License Crates.io Downloads dependents Documentation

Encdec

用于编码/解码 Unicode/UTF-8/UTF-16 (UCS-2) 码点的库。

示例

编码/解码 Unicode/UTF-8 码点

let v: Vec<u32> = vec![0x10348 /*...*/]; // Array of unicode code points
let utf8_vec: Vec<u8> = utf8::encode_in_utf8(&v);
utf8::print_utf8_b(&utf8_vec);
let unicode_vec: Vec<u32> = utf8::decode_from_utf8(&utf8_vec);
unicode::print_unicode_b(&v);
--------------- UTF-8 of "𐍈" ---------------
Hex: [f0, 90, 8d, 88]
Bin: ["11110000", "10010000", "10001101", "10001000"]
Dec: [240, 144, 141, 136]
--------------------------------------------

--------------- UNICODE of "𐍈" ---------------
Hex: [10348]
Bin: ["10000001101001000"]
Dec: [66376]
----------------------------------------------

编码/解码 Unicode/UTF-16 码点

let v: Vec<u32> = vec![0x10001 /*...*/]; // Array of unicode code points
let utf16_vec: Vec<u16> = utf16::encode_in_utf16(&v);
utf16::print_utf16_b(&utf16_vec);
let unicode_vec: Vec<u32> = utf16::decode_from_utf16(&utf16_vec);
unicode::print_unicode_b(&v);
--------------- UTF-16 of "𐀁" ---------------
Hex: [d800, dc01]
Bin: ["1101100000000000", "1101110000000001"]
Dec: [55296, 56321]
---------------------------------------------

--------------- UNICODE of "𐀁" ---------------
Hex: [10001]
Bin: ["10000000000000001"]
Dec: [65537]
----------------------------------------------

构建

您可以使用 justmakecargo 作为构建工具。如果您想使用 cargo,请确保阅读 JustfileMakefile 以了解每个命令使用的标志。以下是可用的命令

just COMMAND
make COMMAND

COMMAND:
  all    # fmt, clippy, test, build
  build  # Build the project
  run    # Run the project
  fmt    # Format the code
  clippy # Run clippy
  test   # Run the tests
  clean  # Clean the project
  help   # Print the help message

贡献

欢迎对这个项目做出贡献!如果您有任何建议、改进或错误修复,请随时提交 pull request。

许可证

此存储库根据 Apache License 2.0 许可。请查阅存储库中提供的许可证文件,以获取有关许可证条款和条件的更多信息。

联系

无运行时依赖