(solidity)字符串(String literal)

字符串字面量


字符串字面量是指由單引號尼摹,或雙引號引起來的字符串吴超。字符串并不像C語言钉嘹,包含結束符,foo這個字符串大小僅為三個字節(jié)烛芬。

定長字節(jié)數(shù)組


正如整數(shù)一樣隧期,字符串的長度類型可以是變長的。特殊之處在于赘娄,可以隱式的轉換為byte1····byte32仆潮。

eg:

pragma solidity ^0.4.17;

contract StringTest {
    
    function test() public pure returns (bytes3){
      bytes3 a = "123";
      bytes3 b = "1234";
       //Error: Type literal_string "1234" is not implicitly convertible to expected type bytes3.

      return a;
  }
}
  • 上述的字符串字面量,會隱式轉換為bytes3遣臼。但這樣不是理解為bytes3的字面量方式一個意思性置。

轉義字符


字符串字面量支持轉義字符,比如\n揍堰,\xNN鹏浅,\uNNN。其中屏歹、xNN表式16進制值隐砸,最終錄入合適的字節(jié)。而蝙眶、uNNN表示Unicode碼的值季希,最終會轉換為UTF8的序列。

十六進制字面量


十六進制字面量幽纷,以關鍵字hex打頭式塌,后面緊跟用單或雙引號包裹的字符串。如hex"001122ff"友浸。在內部會表示為二進制流峰尝。

eg:

pragma solidity ^0.4.17;

contract StringTest {

    function test() public pure returns (string){
      var a = hex"001122FF";

      //var b = hex"A";
      //Expected primary expression
      return a;
  }
}

由于一個字節(jié)是8位,所以一個hex是由倆個[0-9a-z]字符組成的收恢。所以var b = hex"A";不是成雙的字符串是會報錯的武学。

轉換


十六進制的字面量與字符串可以進行同樣的類似操作:

pragma solidity ^0.4.17;

contract StringTest {

    function test() public pure returns (string){
      var a = hex"001122FF";

      //var b = hex"A";
      //Expected primary expression
      return a;
  }
  function test1() public pure returns (bytes4, bytes1, bytes1, bytes1, bytes1){
      bytes4 a = hex"001122FF";

      return (a, a[0], a[1], a[2], a[3]);
  }
}

可以發(fā)現(xiàn)祭往,它可以隱式的轉為bytes,上述代碼的執(zhí)行結果如下:

Result: "0x001122ff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000000000000000000000000000000002200000000000000000000000000000000000000000000000000000000000000ff00000000000000000000000000000000000000000000000000000000000000"
Transaction cost: 21857 gas. 
Execution cost: 585 gas.
Decoded: 
bytes4: 0x001122ff
bytes1: 0x00
bytes1: 0x11
bytes1: 0x22
bytes1: 0xff
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末劳淆,一起剝皮案震驚了整個濱河市链沼,隨后出現(xiàn)的幾起案子默赂,更是在濱河造成了極大的恐慌沛鸵,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缆八,死亡現(xiàn)場離奇詭異曲掰,居然都是意外死亡,警方通過查閱死者的電腦和手機奈辰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門栏妖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人奖恰,你說我怎么就攤上這事吊趾。” “怎么了瑟啃?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵论泛,是天一觀的道長。 經常有香客問我蛹屿,道長屁奏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任错负,我火速辦了婚禮坟瓢,結果婚禮上,老公的妹妹穿的比我還像新娘犹撒。我一直安慰自己折联,他們只是感情好,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布识颊。 她就那樣靜靜地躺著诚镰,像睡著了一般。 火紅的嫁衣襯著肌膚如雪谊囚。 梳的紋絲不亂的頭發(fā)上怕享,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機與錄音镰踏,去河邊找鬼函筋。 笑死,一個胖子當著我的面吹牛奠伪,可吹牛的內容都是我干的跌帐。 我是一名探鬼主播首懈,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼谨敛!你這毒婦竟也來了究履?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤脸狸,失蹤者是張志新(化名)和其女友劉穎最仑,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體炊甲,經...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡泥彤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了卿啡。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吟吝。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖颈娜,靈堂內的尸體忽然破棺而出剑逃,到底是詐尸還是另有隱情,我是刑警寧澤官辽,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布蛹磺,位于F島的核電站,受9級特大地震影響野崇,放射性物質發(fā)生泄漏称开。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一乓梨、第九天 我趴在偏房一處隱蔽的房頂上張望鳖轰。 院中可真熱鬧,春花似錦扶镀、人聲如沸蕴侣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽昆雀。三九已至,卻和暖如春蝠筑,著一層夾襖步出監(jiān)牢的瞬間狞膘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工什乙, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留挽封,地道東北人。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓臣镣,卻偏偏與公主長得像辅愿,于是被迫代替她去往敵國和親智亮。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line)点待,也就是一...
    悟名先生閱讀 4,149評論 0 13
  • 字符串和字符 [TOC] 字符串是例如 "hello, world" 阔蛉, "albatross" 這樣的有序的 C...
    伍哥___閱讀 1,097評論 0 0
  • 一、Java 簡介 Java是由Sun Microsystems公司于1995年5月推出的Java面向對象程序設計...
    子非魚_t_閱讀 4,186評論 1 44
  • 以為一輩子會在一起的人癞埠,沒想到不如一瓶還剩一半的潤膚乳陪我更長状原。人生真是神奇啊~
    炸裂火柴閱讀 155評論 0 0
  • 今日數(shù)學~2小時 專業(yè)課~2小時國金一 英語~70分鐘單詞 政治~1小時 共~5小時 報名完成。費了很大力氣燕差,但至...
    童雪閱讀 226評論 0 0