Bytes
在 Fuel 中,称为 Bytes
的类型表示紧密打包的字节集合。Rust SDK 将 Bytes
表示为 Bytes(Vec<u8>)
。以下是在合约调用中使用 Bytes
的示例:
let bytes = Bytes(vec![40, 41, 42]);
contract_methods.accept_bytes(bytes).call().await?;
如果您有一个十六进制值作为字符串,并希望将其转换为 Bytes
,可以使用 from_hex_str
来实现:
let hex_str = "0101010101010101010101010101010101010101010101010101010101010101";
let bytes = Bytes::from_hex_str(hex_str)?;
assert_eq!(bytes.0, vec![1u8; 32]);
// With the `0x0` prefix
let hex_str = "0x0101010101010101010101010101010101010101010101010101010101010101";
let bytes = Bytes::from_hex_str(hex_str)?;
assert_eq!(bytes.0, vec![1u8; 32]);