如何解决使用 serde_cbor 在 Rust 中将 Vec<u8> 序列化为 CBOR 字节字符串
我想使用 Vec<u8>
将 serde_cbor
编码为 CBOR 字节字符串。我尝试了以下代码:
use serde_cbor::{to_vec}
let data = vec![0x01,0x23,0x45,0x67,0x89,0xab];
let encoded_data = to_vec(&data)?;
println!("encoded_data: {:x?}",encoded_data);
生成以下输出:
encoded_data: [86,1,18,23,45,67,89,ab]
这意味着所有元素都被编码为单个整数。但是,我想将向量编码为 CBOR 字节字符串,即:
46 # bytes(6)
0123456789AB # "\x01#Eg\x89\xAB"
我该怎么做?
解决方法
使用 serde_bytes
crate 和 serde_bytes::Bytes
并改为执行 to_vec(&Bytes::new(&data[..]))?
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。