1个不稳定版本
0.2.3 | 2023年9月25日 |
---|
#9 in #序列化
450 每月下载量
42KB
1K SLoC
Torrust Serde Bencode
来源:由于上游仓库不活跃,从 https://github.com/toby/serde-bencode 分支。
安装
将以下内容添加到您的 Cargo.toml
[dependencies]
torrust-serde-bencode = "^0.2.3"
serde = "^1.0.0"
serde_derive = "^1.0.0"
用法
这是一个来自 examples/parse_torrent.rs 的简化的 .torrent
解析示例。如果您将此包编译为二进制文件,它将打印出任何发送到stdin的Torrent的元数据。
lib.rs
:
此包是一个Rust库,用于使用 Serde 序列化框架处理bencode数据。
示例
use serde_derive::{Serialize, Deserialize};
#[derive(Serialize, Deserialize, PartialEq, Eq, Debug)]
struct Product {
name: String,
price: u32,
}
fn main() -> Result<(), Box<dyn std::error::Error>> {
let apple = Product {
name: "Apple".to_string(),
price: 130,
};
let serialized = serde_bencode::to_string(&apple)?;
assert_eq!(serialized, "d4:name5:Apple5:pricei130ee".to_string());
let deserialized: Product = serde_bencode::from_str(&serialized)?;
assert_eq!(
deserialized,
Product {
name: "Apple".to_string(),
price: 130,
}
);
Ok(())
}
依赖项
~140–385KB