1 个不稳定版本
0.1.0 | 2023年2月4日 |
---|
#1960 in 编码
15KB
149 行
ef80escape
在Rust中进行UTF-8和字节之间的无损转换。针对UTF-8内容进行优化。
非UTF-8字节(>= 128)被编码在Unicode私有使用区域的一个子集中,范围从U+EF80
到U+EFFF
。冲突的Unicode字符通过在前面添加U+EF00
进行转义。
这可以在处理过程中将大多数UTF-8但偶尔无效的UTF-8数据作为仅文本格式(如JSON)传递,在接收到处理后的文本后,无损地重建原始数据。
与PEP 383、wtf8、cesu8不同,此库生成符合标准的UTF-8,与Rust的str
兼容。
选择ef80escape
这个名字是因为它与Python的surrogateescape
相似,但不同的是,它使用从U+EF80
开始的不同的范围。
请参阅文档中的示例。