#hex-string #hex #string #str #hexstring

hex_str

一个帮助处理指定长度的十六进制字符串的库

2个版本

0.1.1 2024年5月16日
0.1.0 2024年5月16日

#150 in 值格式化

Download history 282/week @ 2024-05-16 53/week @ 2024-05-23 10/week @ 2024-05-30 13/week @ 2024-06-06 8/week @ 2024-06-13 28/week @ 2024-06-20 7/week @ 2024-06-27 2378/week @ 2024-07-04 2916/week @ 2024-07-11

5,329 每月下载量

Apache-2.0 OR MIT

19KB
355

hex_str

示例十六进制字符串,一个空文件的md5

d41d8cd98f00b204e9800998ecf8427e

示例

use hex_str::HexString;

let s = "d41d8cd98f00b204e9800998ecf8427e";
let v = HexString::<16>::try_parse(s).unwrap();

assert_eq!(v, "d41d8cd98f00b204e9800998ecf8427e");

功能标志

  • serde - 添加使用 serde 序列化和反序列化 HexString 的功能。
  • rand - 添加实现 randStandard 分布,这使得直接生成 HexString 的随机值成为可能。

使用 serde 功能

use hex_str::HexString;
use serde::{Deserialize, Serialize};

#[derive(Deserialize, Serialize)]
struct Example {
    md5: HexString<16>,
}

let s = r#"
    {
        "md5": "d41d8cd98f00b204e9800998ecf8427e"
    }
"#;

let example: Example = serde_json::from_str(s).unwrap();
assert_eq!(example.md5, "d41d8cd98f00b204e9800998ecf8427e");

serde_json::to_string(&example).unwrap();

使用 rand 功能

use hex_str::HexString;

let _: HexString<16> = rand::random();

依赖项

~0.3–0.9MB
~20K SLoC