#byte-buffer #hex-string #hex #byte #serde

no-std hex-buffer-serde

用于在serde中将字节缓冲区序列化为十六进制字符串的辅助工具

7个不稳定版本

0.4.0 2022年11月1日
0.3.0 2021年5月3日
0.2.2 2020年12月5日
0.2.1 2020年3月15日
0.1.1 2018年11月30日

#1593编码

Download history 1509/week @ 2024-03-14 1280/week @ 2024-03-21 1142/week @ 2024-03-28 1402/week @ 2024-04-04 1214/week @ 2024-04-11 1263/week @ 2024-04-18 1544/week @ 2024-04-25 1449/week @ 2024-05-02 1758/week @ 2024-05-09 1302/week @ 2024-05-16 1374/week @ 2024-05-23 1209/week @ 2024-05-30 1492/week @ 2024-06-06 1302/week @ 2024-06-13 1367/week @ 2024-06-20 1442/week @ 2024-06-27

5,843每月下载量
用于35个crate(9个直接使用)

Apache-2.0

32KB
425

serde的十六进制编码辅助工具

Build Status License: Apache-2.0 rust 1.57+ required

文档: Docs.rs crate docs (master)

hex-buffer-serde是一个辅助crate,允许在serde中将逻辑上对应于字节缓冲区的类型序列化为十六进制编码。

用法

将以下内容添加到您的Crate.toml

[dependencies]
hex-buffer-serde = "0.4.0"

基本用法

use hex_buffer_serde::{Hex as _, HexForm};
use serde_derive::{Deserialize, Serialize};

#[derive(Serialize, Deserialize)]
pub struct Example {
    // will be serialized as hex string in human-readable formats
    // (e.g., JSON or TOML), and as a byte array in binary formats
    // (e.g., bincode).
    #[serde(with = "HexForm")]
    buffer: [u8; 32],
    // other fields...
}

有关更多用法示例,请参阅crate文档。

替代方案

hex-serde提供类似的功能,如果您可以控制需要十六进制编码的类型,则它是一个可行的替代方案。此crate与hex-serde有以下不同之处

  • 您不需要控制(反)序列化类型;它不需要实现任何特定的“有用”特性(例如AsRef<[u8]>)。
  • 仅使用可读的(反)序列化程序进行十六进制编码(例如,JSON或TOML)。如果(反)序列化程序不可读(例如,bincode),则类型将作为字节数组进行序列化。

serde-with也提供与hex-serde类似约束的十六进制编码/解码功能。

许可证

hex-buffer-serde根据Apache许可证(版本2.0)授权。有关详细信息,请参阅LICENSE

依赖项

~130–365KB