gpt4 book ai didi

rust - 如何将 Base58 编码的数据转换为 Vec 然后转换为字符串?

转载 作者:行者123 更新时间:2023-11-29 08:34:52 24 4
gpt4 key购买 nike

我正在尝试将 Vec 转换为 String 以供显示。我曾尝试使用 from_uf8from_iter 但没有成功。

use rust_base58::{ToBase58, FromBase58};

let address = String::from("1BgGZ9tcN4rm9KBzDn7KprQz87SZ26SAMH");
let _hash160 = address.from_base58();
let mut s = String::from_utf8(_hash160).unwrap();
//let s = String::from_iter(_hash160);
s.remove(0);
s.pop();
s.pop();
s.pop();
s.pop();
println!("{}", s);

最佳答案

.from_base58()

返回

Result<Vec<u8>, FromBase58Error>

因为如果数据不是有效的 Base 58,转换可能会失败。

假设您想像对待 from_utf8 那样忽略错误, 你需要 .unwrap()得到 Vec<u8>您正在寻找的内容,例如

let hash160 = address.from_base58().unwrap();
let mut s = String::from_utf8(hash160).unwrap();

其余部分应该可以正常编译,按照 How do I convert a Vector of bytes (u8) to a string 中列出的说明进行操作.

当您准备将代码投入生产时,一定要确保在没有 .unwrap() 的情况下处理错误虽然。

关于rust - 如何将 Base58 编码的数据转换为 Vec<u8> 然后转换为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48996294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com