2个稳定版本
1.1.0 | 2024年2月23日 |
---|---|
1.0.0 | 2024年1月23日 |
#256 在 调试 中
486 每月下载量
在 3 crates 中使用
9KB
106 行
Try ASCII
用于格式化可能/大部分包含ASCII编码文本的字节切片的辅助工具
这可以用于记录预期为文本但无法保证是有效UTF-8的二进制数据。在这些情况下,使用 std::str::from_utf8
可能不可行,因为每当该函数失败时,都会记录一个 Utf8Error
而不是实际数据。使用 try_ascii
,文本部分将被格式化为文本,而二进制部分将回退到 &[u8]
的默认 Debug
实现方式。
use try_ascii::try_ascii;
println!("{:x?}", try_ascii(b"Hello, \xa0\xa1\xa2\xa3"));
打印为
Hello, [a0, a1, a2, a3]
你可以使用提供的 try_ascii
函数,或者导入 TryToAscii
trait,它会自动为 [u8]
、&[u8]
以及实现了 AsRef<[u8]>
的任何类型自动实现 try_ascii()
。
use try_ascii::TryAscii;
// You can use .try_ascii() directly on a [u8]-slice:
println!("{:x?}", b"Hello, \xa0\xa1\xa2\xa3".try_ascii());
// ... or on &[u8] :
let slice: &[u8] = b"Hello, \xa0\xa1\xa2\xa3";
println!("{:x?}", slice.try_ascii());
// ... or on things that implement AsRef<[u8]>:
let slice: [u8; 11] = *b"Hello, \xa0\xa1\xa2\xa3";
println!("{:x?}", slice.as_ref().try_ascii());
许可
开放物流基金会许可
版本 1.3,2023年1月
请参阅顶级目录中的 LICENSE 文件。
联系方式
弗劳恩霍费尔 IML 嵌入式 Rust 小组 - [email protected]