数据存储——string
string内存原理——特殊动态数组
首先,我们新建一个DynamicString.sol文件,我们通过代码来探究string的 内存原理。
1.获取长度操作
string name="yuketang"; //这里的双引号也可以使用单引号
function getlength() returns(uint){
return name.length;
}
报错。string不能获取长度!!
2.获取/修改某个数据
function changeName() returns(bytes1){
return name[0];
}
报错。string不能读取某个数据,更不能修改!
那么,我们怎样才能进行操作呢?下面我们一起来了解一下!
1.获取长度
2.getName
3.获取/修改局部
之后我们在getName,发现0x79756b6574616e67,name[0]位置上的数据发生了改变。
0x4c756b6574616e67
string处理特殊字符和中文
结论:一个中文占3个字节,一个特殊符号占1个字节!
结论:string可以查看中文(其他语言)所存储的UTF-8的类型
【注】:在solidity语言中string后面不需要任何结束符!