通學智慧型合約系列(七) 字串

2021-10-19 10:29:42 字數 780 閱讀 8649

字串

我們都知道字串在其他程式語言中,都是出場率相當高的乙個角色,重要程度不言而喻。在solidity中也不例外。在上節我們學習了動態位元組陣列,而我們的字串,可不可以按照動態位元組的陣列去獲取他的長度和其中的元素呢?我們寫乙個例子來看看吧。

pragma solidity ^

0.4.16

;contract dynamicstring

function getpartname()

returns

(bytes1)

}

執行編譯後,我們發現string並沒有給我們提供長度屬性,也不能通過陣列下標的形式獲取其中的字元。這種方式顯然是不行。

那怎麼實現我們的這種訴求呢?

當然 ,我們可以想辦法,向我們的動態位元組陣列靠攏,例如下面方法就可以實現

pragma solidity ^

0.4.16

;contract dynamicstring

function getpartname()

returns

(bytes1)

function changename()

}

主要就是通過bytes()進行了強制轉換。

同時我們注意到,我們的乙個英文本元恰好占用了乙個位元組,那麼我們輸入中文呢?

如圖,我們可以看到乙個漢字佔3個位元組,這是因為我們的漢字在記憶體中是通過utf8型別儲存的,至於其他一些特殊字元和數字,當然也是乙個字元占用乙個位元組啦。

通學智慧型合約系列(六) 位元組陣列

關鍵字有 bytes1,bytes2mbytes3,bytes32 以步長1遞增 byte代表bytes1。pragma solidity 0.4.16 contract bytearray 固定長度位元組陣列對於數值來說,有點等同於我們的uint。乙個位元組等於8位。即bytes1 有點等同於ui...

Python基礎 七 字串

python字串 python 訪問字串中的值 python 不支援單字元型別,單字元在 python 中也是作為乙個字串使用。python 訪問子字串,可以使用方括號來擷取字串,如下例項 var1 hello world var2 runoob print var1 0 var1 0 print ...

C primer plus 系列2 字串

1 將字串存在陣列中的兩種方法 2 如何在陣列中使用字串 3 cin只能讀取乙個單詞,讀到換行符認為字串結束 4 介紹cin.get cin.getline 1 將字串存在陣列中的兩種方法 int a 5 0 用來標記字串結尾 int a 5 food 稱為字串常量 2 在陣列中使用字串 inclu...