中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

solidity智能合約[15]-fixtostring

發布時間:2020-07-14 14:02:06 來源:網絡 閱讀:174 作者:jonson_jackson 欄目:開發技術

固定字節數組轉string

固定字節數組轉換為string沒有好的辦法,必須要首先將固定字節數組轉換為動態字節數組,再將動態字節數組轉換為string

1
2
3
4
5
6
7
8
9
10
11
12
//bytes2  ->  bytes   ---->string
 function fixtostr(bytes32 _newname) pure public returns(string){


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

   for(uint i = 0;i<newName.length;i++){
       newName[i] =  _newname[i];
   }

   return string(newName);
}

上面的函數傳遞0x6a6f的時候,返回的結果為"bytes32 newname": "0x6a6f000000000000000000000000000000000000000000000000000000000000
這顯然不是我們想要的。這是由于新建的動態數組的長度為32的原因。下面對其進行改進:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function fixtostr2(bytes32 _newname) pure public returns(string){
 //計數
  uint count = 0 ;

  for(uint i = 0;i<_newname.length;i++){
      bytes1 ch = _newname[i];
      if(ch !=0){
          count++;
      }
  }

  bytes memory name2 = new bytes(count);

  for(uint j = 0;j<name2.length;j++){
      name2[j] = _newname[j];
  }
  return string(name2);
}
  • 本文鏈接: https://dreamerjonson.com/2018/11/19/solidity-15-fixtostring/

  • 版權聲明: 本博客所有文章除特別聲明外,均采用 CC BY 4.0 CN協議 許可協議。轉載請注明出處!

solidity智能合約[15]-fixtostring

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吉林省| 漯河市| 芜湖县| 云南省| 江城| 共和县| 开江县| 隆林| 肥城市| 涞源县| 广东省| 酉阳| 枣庄市| 攀枝花市| 太仓市| 中方县| 定边县| 杭锦旗| 石台县| 龙山县| 虞城县| 蚌埠市| 涟水县| 根河市| 三门峡市| 商城县| 平阳县| 建湖县| 道真| 吴忠市| 永平县| 罗山县| 大洼县| 义乌市| 屏东县| 安岳县| 茶陵县| 辛集市| 桐柏县| 南皮县| 渝北区|