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在编码
5,843每月下载量
用于35个crate(9个直接使用)
32KB
425 行
serde的十六进制编码辅助工具
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