亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

solidity智能合約[11]-字符串

發布時間:2020-06-17 18:57:03 來源:網絡 閱讀:704 作者:jonson_jackson 欄目:開發技術

字符串

string 類型存儲字符串, 在solidity中使用了UTF-8格式來存儲字符串。

1
2
3
string public name="jonson";//6a6f6e736f6e
string public name1="!@#$%^&*())*";
string public name2="我愛你";

字符串不能直接的獲取長度和內容

下面是錯誤的方式

1
2
3
4
5
6
7
// function getLength() returns(uint){
//     name.length;
// }

// function getName() returns(bytes1) {
//     return name[0];
// }

獲取字符串長度和內容和的正確方式

1
2
3
4
5
6
7
 function getLength() public view returns(uint){
   return bytes(name).length;
}

function getName() public view returns(bytes1){
return bytes(name)[1];
}

修改字符串中的內容

1
2
3
4
function changeName() public{
// bytes(name)[0]=0x55;
   bytes(name)[0]='P';
}

證明中文占了3個字節

1
2
3
4
   string public name2="我愛你";
  function getLength3() public view returns(uint){
   return bytes(name2).length;
}

字符串轉動態字節數組

1
2
3
4
function  getBytes() public view returns(bytes){

   return bytes(name);
}

完整代碼測試

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
pragma solidity ^0.4.23;

contract StringTest{

   string public name="jonson";//6a6f6e736f6e
   string public name1="!@#$%^&*())*";
   string public name2="我愛你";

   // function getLength() returns(uint){
   //     name.length;
   // }
     function getLength() public view returns(uint){
       return bytes(name).length;
   }
   // function getName() returns(bytes1) {
   //     return name[0];
   // }
        function getName() public view returns(bytes1){
       return bytes(name)[1];
   }

   function changeName() public{
   // bytes(name)[0]=0x55;
       bytes(name)[0]='P';
   }

   function  getBytes() public view returns(bytes){

       return bytes(name);
   }

        function getLength2() public view returns(uint){
       return bytes(name1).length;
   }
   function  getBytes1() public view returns(bytes){

       return bytes(name1);
   }

   function getLength3() public view returns(uint){
       return bytes(name2).length;
   }
   function  getBytes2() public view returns(bytes){

       return bytes(name2);
   }
}

總結

1、字符串是特殊的動態長度字節數組
2、字符串不能夠字節的修改長度和內容,需要轉換為bytes動態字節數組
3、字符串在solidity中使用了UTF8格式來存儲,所以漢字占了3個字節,英文和特殊字符占了一個字節

  • 本文鏈接: https://dreamerjonson.com/2018/11/15/solidity-11/

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

solidity智能合約[11]-字符串

向AI問一下細節

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

AI

织金县| 龙里县| 讷河市| 天台县| 望谟县| 洛扎县| 涿鹿县| 普洱| 哈巴河县| 酒泉市| 清新县| 建宁县| 古交市| 阿克| 桃源县| 富裕县| 拜城县| 枣阳市| 屏边| 梧州市| 安图县| 榆林市| 娱乐| 星子县| 珠海市| 门源| 炉霍县| 吐鲁番市| 都昌县| 青州市| 安岳县| 聂荣县| 元阳县| 天全县| 沂源县| 平阳县| 建昌县| 阿坝| 孝昌县| 额济纳旗| 南木林县|