#codec #hex #policy #conservative #decoding #msrv

无需std hex-conservative

具有保守的MSRV和依赖策略的十六进制编码和解码库

6个版本

0.2.1 2024年5月23日
0.2.0 2024年2月27日
0.1.2 2024年5月14日
0.1.1 2023年7月19日
0.0.1 2023年4月30日

#178 in 编码

Download history 51343/week @ 2024-05-02 54166/week @ 2024-05-09 53394/week @ 2024-05-16 64615/week @ 2024-05-23 62240/week @ 2024-05-30 55687/week @ 2024-06-06 58245/week @ 2024-06-13 59488/week @ 2024-06-20 54971/week @ 2024-06-27 54956/week @ 2024-07-04 68155/week @ 2024-07-11 70046/week @ 2024-07-18 65521/week @ 2024-07-25 59799/week @ 2024-08-01 87787/week @ 2024-08-08 67042/week @ 2024-08-15

292,795 每月下载量
用于 718 个crate (25直接)

CC0 许可

64KB
1K SLoC

比特币十六进制库

具有保守的MSRV和依赖策略的通用十六进制编码/解码库。

最小支持的Rust版本 (MSRV)

此库应该能够在Rust 1.56.1上与几乎任何功能的组合编译,但我们保留使用功能来保护编译器特定代码的权利,因此使用MSRV工具链可能无法使用 --all-features

Githooks

为了帮助开发者捕捉在运行CI之前出现的错误,我们提供了一些githooks。如果您还没有本地配置githooks,您可以通过在仓库根目录下运行以下命令来使用此仓库中提供的githooks:

git config --local core.hooksPath githooks/

或者,在您的 .git/hooks 目录中添加我们提供的任何githooks的符号链接。


lib.rs:

十六进制编码和解码。

具有保守的MSRV和依赖策略的通用十六进制编码/解码库。

基本用法

// In your manifest use the `package` key to improve import ergonomics.
// hex = { package = "hex-conservative", version = "*" }
use hex::prelude::*;

// Decode an arbitrary length hex string into a vector.
let v = Vec::from_hex("deadbeef").expect("valid hex digits");
// Or a known length hex string into a fixed size array.
let a = <[u8; 4]>::from_hex("deadbeef").expect("valid length and valid hex digits");

// We support `LowerHex` and `UpperHex` out of the box for `[u8]` slices.
println!("An array as lower hex: {:x}", a.as_hex());
// And for vecs since `Vec` derefs to byte slice.
println!("A vector as upper hex: {:X}", v.as_hex());

// Allocate a new string (also `to_upper_hex_string`).
let s = v.to_lower_hex_string();

// Please note, mixed case strings will still parse successfully but we only
// support displaying hex in a single case.
assert_eq!(
    Vec::from_hex("dEaDbEeF").expect("valid mixed case hex digits"),
    Vec::from_hex("deadbeef").expect("valid hex digits"),
);

依赖项

~63–305KB