如何将字符串可靠地转换为 bytes8?
How to convert string to bytes8 in solidity?
函数中获取字符串参数,参数长度小于8。
我想将此参数转换为 bytes8 以保存在数组中。
如何转换?
例如:
pragma solidity 0.8.0;
contract MyContract{
bytes8 [] Names;
function setName(string memory _name) public{
Names.push(_name);
}
}
solidity 0.8.7
中的代码有效
pragma solidity 0.8.7;
contract MyContract{
bytes8 [] Names;
function setName(string memory _name) public{
// convert string to bytes first
// then convert to bytes8
bytes8 newName=bytes8(bytes(_name));
Names.push(newName);
}
}
或者在 solidity 中你可以传递 bytes8 作为参数
function setName(bytes8 _name) public{
Names.push(_name);
}
当你在前端调用它时,你将字符串转换为 bytes8,然后将其作为参数传递
函数中获取字符串参数,参数长度小于8。 我想将此参数转换为 bytes8 以保存在数组中。 如何转换?
例如:
pragma solidity 0.8.0;
contract MyContract{
bytes8 [] Names;
function setName(string memory _name) public{
Names.push(_name);
}
}
solidity 0.8.7
中的代码有效
pragma solidity 0.8.7;
contract MyContract{
bytes8 [] Names;
function setName(string memory _name) public{
// convert string to bytes first
// then convert to bytes8
bytes8 newName=bytes8(bytes(_name));
Names.push(newName);
}
}
或者在 solidity 中你可以传递 bytes8 作为参数
function setName(bytes8 _name) public{
Names.push(_name);
}
当你在前端调用它时,你将字符串转换为 bytes8,然后将其作为参数传递