#unicode #surrogate #unicode-characters

ef80escape

一个用于在git仓库中选取提交的领域特定语言。类似于Mercurial的revset。

1 个不稳定版本

0.1.0 2023年2月4日

#1960 in 编码

MIT 许可证

15KB
149

ef80escape

Documentation

在Rust中进行UTF-8和字节之间的无损转换。针对UTF-8内容进行优化。

非UTF-8字节(>= 128)被编码在Unicode私有使用区域的一个子集中,范围从U+EF80U+EFFF。冲突的Unicode字符通过在前面添加U+EF00进行转义。

这可以在处理过程中将大多数UTF-8但偶尔无效的UTF-8数据作为仅文本格式(如JSON)传递,在接收到处理后的文本后,无损地重建原始数据。

PEP 383wtf8cesu8不同,此库生成符合标准的UTF-8,与Rust的str兼容。

选择ef80escape这个名字是因为它与Python的surrogateescape相似,但不同的是,它使用从U+EF80开始的不同的范围。

请参阅文档中的示例。

无运行时依赖