在 Rust 中将 ethereum_types::H256 转换为字符串

Sha*_*Raz 6 string-conversion rust

当我尝试使用 to_string()将ethereum_types::H256转换 为String时

\n\n
use ethereum_types::H256;\n\nfn main() {   \n    let s = H256::zero();\n    println!("{}", s);\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

我期望输出是

\n\n
"0x0000000000000000000000000000000000000000000000000000000000000000" \n
Run Code Online (Sandbox Code Playgroud)\n\n

但输出是

\n\n
"0x0000\xe2\x80\xa60000"\n
Run Code Online (Sandbox Code Playgroud)\n

mca*_*ton 6

这种(奇怪的)行为来自fixed-hash板条箱。

它实现了几个格式化特征:

因此,要获得所需的输出,请使用LowerHex备用模式:

    println!("{:#x}", s);
Run Code Online (Sandbox Code Playgroud)

(或者您可以使用,但通常不应依赖 的Debug输出)Debug