字符串(String literal)

优质
小牛编辑
132浏览
2023-12-01

字符串字面量

字符串字面量是指由单引号,或双引号引起来的字符串。字符串并不像C语言,包含结束符,foo这个字符串大小仅为三个字节。

定长字节数组

正如整数一样,字符串的长度类型可以是变长的。特殊之处在于,可以隐式的转换为byte1,...byte32。下面来看看这个特性:

pragma solidity ^0.4.0;
contract StringConvert{
    function test() 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\uNNNN。其中\xNN表式16进制值,最终录入合适的字节。而\uNNNN表示Unicode码点值,最终会转换为UTF8的序列。