5 bytes32Tostring 不起作用的,求大佬帮忙看下

pragma solidity ^0.4.26;

contract Bytes32ToString{

    bytes2 name=0x7a68;

    function changeIt() returns(string){

    //    return string(name);  

    }

    function bytes32Tostring(bytes32 _newname) view returns(string){

        bytes memory newname = new bytes(_newname.length);

        for(uint i = 0;i<_newname.length;i++){

            newname[i] = _newname[i];

        }

        return string(newname);

    }

}

https://www.bilibili.com/video/BV1St411a7Pk?t=41&p=16

我的这个和教程上是一样的,教程 bytes32Tostring 是起作用的,

我的一直在报这个错,不明白这个报错是表达什么意思,求教 image.png

call to Bytes32ToString.bytes32Tostring errored: Error encoding arguments: Error: incorrect data length (argument=null, value="0x7a68", code=INVALID_ARGUMENT, version=abi/5.0.7)

请先 登录 后评论

最佳答案 2021-04-16 11:23

INVALID ARGUMENT: 非法参数,你应该传入一个32字节的参数

把参数:0x7a68 变成:0x7a68000000000000000000000000000000000000000000000000000000000000

除0x后共64位=32个字节

请先 登录 后评论

其它 1 个回答

Tiny熊
  擅长:智能合约,以太坊
请先 登录 后评论
  • 2 关注
  • 0 收藏,5167 浏览
  • Eleven 提出于 2021-04-03 23:50